2013-04-09 2 views
0

Europe/Amsterdam을 시간대로 사용. 는 이유는 무엇입니까 :네거티브 strtotime

strtotime("January 1, 1970 00:40:00'); 

반환

-1200 

나는 그것을 얻지 않는다.

+1

Europe/Amsterdam은 UTC + 1이고'strtotime()'은 UTC 타임 스탬프를 반환하기 때문에. "1970 년 1 월 1 일 00:00:00 UTC + 1"== -3600, 40 분 == 2400 및 -3600 + 2400 == -1200. – Sammitch

+0

@Sammitch so'strtotime ("1970 년 1 월 1 일 00:40:00 GMT + 1");은 좋은 수정일까요? – Thijmen

+1

아니요, 여전히 -1200이 나옵니다. 귀하의 시간대에 대한 0 초 UTC 타임 스탬프는 "1970 년 1 월 1 일 01:00:00 GMT + 1"이며 아무것도 변경하지 않습니다. – Sammitch

답변

2

PHP는 January 1, 1970 00:00:00부터 시작하는 시간을 계산하므로. 그래서 당신은 기준 시간에서 돌아 왔습니다. 그것은 가능한 이유입니다. 그래서 1200 것

(- 60 * 40 (+/-) time_difference_in_your_timezone)

0

한 strtotime 기능 년 1 월 1 일 1970 년 이후 유닉스 타임 스탬프로 "에 strinf 날짜 (시간 (초)을 구문 분석 00:00:00 UTC) "입니다. PHP 설명서를 참조하십시오.

0

-1200은 사용자의 시간대로 인해 발생합니다. strtotime은 January 1, 1970 00:00:00 UTC에서 계산됩니다. UTC + 1에서 UTC로 거슬러 올라간 날짜를 계산하면 1969 년 12 월 31 일 23:40:00 UTC가됩니다.