현재 PHP 응용 프로그램의 시간대를 사용하고 있습니다.php strtotime 이상한 동작
strtotime이 일관된 동작을하지 않는 것으로 나타났습니다. 이 예는 I'am이 무슨 말 것을 강조 :
var_dump("strtotime('now'), UTC, Europe/Paris and America/New_York");
date_default_timezone_set('UTC');
var_dump(strtotime('now'));
date_default_timezone_set('Europe/Paris');
var_dump(strtotime('now'));
date_default_timezone_set('America/New_York');
var_dump(strtotime('now'));
var_dump("strtotime('now UTC'), UTC, Europe/Paris and America/New_York");
date_default_timezone_set('UTC');
var_dump(strtotime('now UTC'));
date_default_timezone_set('Europe/Paris');
var_dump(strtotime('now UTC'));
date_default_timezone_set('America/New_York');
var_dump(strtotime('now UTC'));
var_dump("strtotime('today'), UTC, Europe/Paris and America/New_York");
date_default_timezone_set('UTC');
var_dump(strtotime('today'));
date_default_timezone_set('Europe/Paris');
var_dump(strtotime('today'));
date_default_timezone_set('America/New_York');
var_dump(strtotime('today'));
var_dump("strtotime('today UTC'), UTC, Europe/Paris and America/New_York");
date_default_timezone_set('UTC');
var_dump(strtotime('today UTC'));
date_default_timezone_set('Europe/Paris');
var_dump(strtotime('today UTC'));
date_default_timezone_set('America/New_York');
var_dump(strtotime('today UTC'));
결과 : 항상 UTC 타임 스탬프, 어떤 date_default_timezone_get()
수익률을 반환해야
string 'strtotime('now'), UTC, Europe/Paris and America/New_York'
int 1404821878
int 1404821878
int 1404821878
string 'strtotime('now UTC'), UTC, Europe/Paris and America/New_York'
int 1404821878
int 1404829078
int 1404807478
string 'strtotime('today'), UTC, Europe/Paris and America/New_York'
int 1404777600
int 1404770400
int 1404792000
string 'strtotime('today UTC'), UTC, Europe/Paris and America/New_York'
int 1404777600
int 1404777600
int 1404777600
strtotime('foo UTC')
.
strotime('today UTC')
의 경우이 예제에서는 항상 1404777600
이 반환됩니다. 또한 strtotime('today')
은 시간대가 설정된 시간에 따라 다른 시간 소인을 예상대로 반환합니다.
그러나 strtotime('now UTC')
을 호출 할 때 반대 동작이 발생합니다. strtotime('now UTC')
은 시간대 설정의 다른 타임 스탬프 기능을 반환하고 strtotime('now')
을 호출하면 항상 1404821878
을 반환합니다.
버그입니까? 아니면 오해 했습니까?