2010-05-18 6 views
19

UNIX timestamp는 항상 GMT로 표시 되나요? UNIX 타임 스탬프는 항상 GMT로 나타 납니까?

나는 PHP 함수 시간()

를 실행하려고 내가 시간() 함수에서 유닉스 타임 스탬프로 변환하려고 할 때, 출력은 컴퓨터 시간과 유사하지 않다.

는 UNIX 타임 스탬프는 GMT+0에서 유닉스 타임 시대에서 얼마나 많은 초 과거를 나타냅니다, 당신에게

+0

time()에서 반환 된 값은 현지 시간입니다. 그 값을 표시하기 위해 당신은 무엇을 사용하고 있습니까? –

+0

그리니치가 더 이상 제국의 중심이 아니기 때문에 정치적으로 정확한 시간은 물론 UTC입니다. 글쎄요, 아마 그럴 겁니다.하지만 제국은 과거만큼 커지지 않았습니다 :-) – paxdiablo

+1

time()에서 반환 된 값은 기원일로부터의 초 수입니다. 그 자체로는 시간대가 없습니다.달력 양식으로 변환 할 때, 즉 시간대가 값에 적용되거나 적용되지 않습니다. –

답변

36

네 감사

+38

틀린 점은 GMT + 0입니다! : P –

+15

내 평생 거짓말이었다 –

7
(일명 유닉스의 시대가) 1 월 1 일 1970 0시 0 분 0 초 (UTC)부터 경과 된 초를 의미

UNIX 타임 스탬프 (세계시). 따라서 특정 TimeZone에서 시간이 필요한 경우 변환해야합니다.

기술적으로는 가능하지만 이미 반환하기 전에 로컬 시간대를 이미 고려하고있는 getdate과 같은 현재 시간 (또는 다른 시간)을 얻는 다른 방법을 권합니다.

+1

'time()'은 현지 시간대를 고려합니다. – zerkms

+4

@zerkms 문서에 따라 다르지 않습니다 : http://php.net/manual/en/function.time.php –

+3

예, my 잘못. – zerkms

6

예, time은 UTC를 반환해야합니다. 현지 시간으로 변환하려면 다음과 같은 함수가 필요합니다. ..., 음, 생각해 봅시다. 예, 맞습니다.

이렇게하면 더 유용한 양식을 얻을 수 있습니다. 개별 필드가 깨졌습니다.

각 위의 PHP 문서는 위의 링크를 클릭하십시오. PHP가 gmtime에 해당하는지 확실하지 않습니다.


그리고 제쳐두고, man time으로 time 맨 페이지에 대한 웹 검색 매우주의로 - 당신은 당신이 무엇을 기대하지 못할 수도 있습니다. 확실히man 자체 페이지 인 man man을 찾고있는 사용자에게 기대되는 것을 얻지 못할 것입니다. 내가 date_default_timezone_get()의 반환 값은 기본 시간대가 무엇인지 볼 :-)

0

확인보다 당신이 다른 것을 찾고하지 않는 것입니다

. 이 링크에는 값을 변경할 수있는 방법이 나열되어 있으며 php.ini에서 date.timezone을 설정하여 기본 설정을 지정합니다.

2

기술적으로 아니오.

비록 시대 시간은 수단이 진짜 "GMT"(UTC)이 아닌 1/1/70 00:00:00 때문에 초 경과입니다.

UTC 회전하는 지구의 느린 속도를 고려하여 시간을 몇 번 변경해야합니다.

모든 사람이 썼듯이 대부분의 사람들은 신기원을 UTC로 사용합니다.

https://en.wikipedia.org/wiki/Unix_time에서 자세한 내용을 볼 수 있습니다.

관련 문제