質問

質問

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ラベルには東部の夏時間が記載されています。

今年の「標準」時間に対する次の変更は次のとおりです。

$ 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時間遅い)

私は何の問題も見ることができません。

おすすめ記事