MATLAB의 기능이 올바르게 적용되는지 확인하기 위해 MATLAB을 테스트하고 있습니다. 데이터 소스의 예는 다음과 같습니다.
- 현재 시간(UNIX 에포크 초): 1160967053
- 뉴욕 현재 시간 2006년 10월 15일 22:50:53 EDT
나는 위의 내용이 정확하다고 가정하고MATLAB에서 결과를 재현해 보십시오.
dt = datetime(1160967053, 'ConvertFrom', 'posixtime' )
반품:
dt = 16-Oct-2006 02:50:53
이는 +4시간으로 밝혀졌습니다. 저는 +5시간을 예상했습니다. 뉴욕 시간은 UTC -5입니다. 일광절약시간 차이가 1시간인가?
함수에 시간대를 추가하면 결과가 참조 예와 일치합니다.
T = datetime(1160967053,'ConvertFrom','posixtime','시간대','미국/뉴욕')
T = 15-Oct-2006 22:50:53
질문
- 뉴욕 시가 UTC -5라면 왜 4시간 차이가 나는 걸까요?
답변1
예, 타임스탬프 1160967053은 이 날짜(UTC)를 나타냅니다.
$ date -ud @1160967053
Mon Oct 16 02:50:53 UTC 2006
뉴욕의 정확한 시간은 다음과 같습니다.
$ TZ="America/New_York" date -d @1160967053
Sun Oct 15 22:50:53 EDT 2006
네, 4시간 늦었습니다.
EDT 라벨에는 동부 일광 절약 시간(Eastern Daylight Time)이 명시되어 있습니다.
올해의 "표준" 시간에 대한 다음 변경 사항은 다음과 같습니다.
$ zdump -c 2006,2007 -v /usr/share/zoneinfo/America/New_York
/usr/share/zoneinfo/America/New_York Sun Apr 2 06:59:59 2006 UT = Sun Apr 2 01:59:59 2006 EST isdst=0 gmtoff=-18000
/usr/share/zoneinfo/America/New_York Sun Apr 2 07:00:00 2006 UT = Sun Apr 2 03:00:00 2006 EDT isdst=1 gmtoff=-14400
/usr/share/zoneinfo/America/New_York Sun Oct 29 05:59:59 2006 UT = Sun Oct 29 01:59:59 2006 EDT isdst=1 gmtoff=-14400
/usr/share/zoneinfo/America/New_York Sun Oct 29 06:00:00 2006 UT = Sun Oct 29 01:00:00 2006 EST isdst=0 gmtoff=-18000
따라서 15일 앞으로 이동하면 시간은 다음과 같습니다.
$ TZ="America/New_York" date -d "Sun Oct 15 22:50:53 EDT 2006 + 15 days"
Mon Oct 30 21:50:53 EST 2006
EST: 동부 표준시(또는 UTC+0보다 5시간 늦음)
나는 어떤 문제도 볼 수 없습니다.