NSDate
現在のUTC日付/時刻で初期化する簡単な方法はありますか?
NSDate
UTCに設定するようなものはなく、タイムゾーンが関連付けられていません。
@MurraySagalあなたは間違っています-
—
ニックフォージ
NSDate
瞬間を表します(名前NSDate
は誤称です)。「2001年1月1日の最初の瞬間」などの時間を説明する場合、話している正確な瞬間を特定するためのタイムゾーンが必要ですが、NSDate
作成されると、それに関連付けられたタイムゾーンはありません。
@NickForge NSDateは、特定のタイムゾーンの特定の時刻である「2001年1月1日の最初の瞬間、GMT」として作成されます。その事実は不変であり、日付が機能する理由にとって非常に重要です。異なるタイムゾーンにいて、これを同時に記録した場合
—
マレーサガル2013年
NSLog(@"since1970= %f", [[NSDate date] timeIntervalSince1970]);
、結果は同じです。どうして?これは、ユーザーがどこにいても、特定のタイムゾーン(GMT)の特定の時点を基準にしているためです。GMTに関連しているという事実は、作成された後は消えません。このアンカーがないと、日付は任意になります。
@MurraySagalどちらも正しい方法ですが、ニックは「
—
devios1 2013
NSDate
UTCに設定するようなものはありません」と言った方が正しいです。なぜなら、のタイムゾーンを設定できないためNSDate
です。 「タイムゾーンがあります」。特定のタイムゾーンに関連して定義されていることは事実ですが、タイムゾーンが「ある」とは、タイムゾーンがのプロパティであることを意味しNSDate
ます。これは正しくありません。
[NSDate date]
か?UTCかどうかはわかりません。