RedBeanPHP ORM에는 날짜를 지정할 수있는 편리한 함수가 있습니다.RedBeanPHP - R :: isoDateTime() - 시간대를 설정하는 방법은 무엇입니까?
$time = R::isoDateTime();
어떻게 시간대를 설정할 수 있습니까?
기본 기능은 RB가 실행중인 시스템의 시간을 반환하지 않습니다.
RedBeanPHP ORM에는 날짜를 지정할 수있는 편리한 함수가 있습니다.RedBeanPHP - R :: isoDateTime() - 시간대를 설정하는 방법은 무엇입니까?
$time = R::isoDateTime();
어떻게 시간대를 설정할 수 있습니까?
기본 기능은 RB가 실행중인 시스템의 시간을 반환하지 않습니다.
the source code에서 볼 수 있듯이 R::isoDateTime()
은 단지 편리한 방법입니다. 단순히 PHP time()
함수를 호출 한 다음 date
함수를 사용하여 결과를 문자열로 서식 지정합니다.
나는 그것을 테스트하지 않았지만 이론적으로는 date_default_timezone_set
함수가 작동해야합니다. 예 :
date_default_timezone_set('America/Los_Angeles');
Matt이 지적한대로 R::isoDateTime()
은 편의 기능입니다.
@date('Y-m-d H:i:s', $time)`
즉 : 어떤 시간대 정보없이 타임 스탬프 : 제가 확인했습니다 RedBean의 모든 버전 (3.x를, 4.x의)에서
, 그것은으로 정의된다. 예 : 2017-09-05 18:49:16. MySQL의에서:
당신은 아마 어떤 시간대 정보없이 datetime
를 사용하고 R::isoDateTime()
은 잘 할 것입니다. 포스트 그레스를 사용하는 경우
그러나 것은주의 :
포스트 그레스 포스트 그레스 '시간대에 배 시간대없이 같은 시간, 이해 그래서 당신은 RedBean를 사용하여 시간을 설정하더라도 (안 PHP의!) , 날짜가 예상 한 것과 다르다는 것을 알 수 있습니다.
이 도움이 될 것입니다 SHOW timezone;
:
ALTER ROLE myuser SET timezone = 'Europe/Paris';
.R::isoDateTime()
대신 @date('c')
(예 : 2017-09-05T18 : 49 : 16 + 02 : 00)과 같은 것을 사용할 수 있습니다. 그리고 마지막으로 마음 포스트 그레스 유지는 UTC로 모든 것을 저장,하지만/그것의 현재 설정 timezone
설정에 따라 시간대의 다양한 년 timestamp without a time zone
유형 (AKA timestamptz
)를 표시 할 수 있습니다. 예 :: 2017-09-05T18 : 유럽/파리가 설정된 경우 49 : 16 + 02 : 00, UTC가 설정된 경우 2017-09-05T16 : 49 : 16 + 00 : 00 (둘 다 같은 시간을 나타냄)
(나는 RedBean을 좋아하지만이 부분은 어디에서든지 보지 못했을 것입니다.) 잘만하면이 도움이 될 것입니다.
예. date_default_timezone_set을 사용했습니다. – GRowing