私はAndroid開発者であるiOS開発の初心者です。私は使用するのに慣れていますが、Joda-Timeライブラリのタイムゾーンを指定してdatetimeを保存するオブジェクトがあります。iOSでタイムゾーン付きのdatetimeを保存するには?
日付と時刻についてのiOSドキュメント(https://developer.apple.com/documentation/foundation/dates_and_times)を読んだ後、私はまだどのクラスを使って日付時刻を保存すべきか疑問に思っています。 Date/NSDate
クラスの説明「特定の時点、カレンダーまたはタイムゾーンとは関係なく」それはタイムゾーンに依存しないため非常に役に立たないようであり、タイムゾーンなしの時間は意味を持たない。
私の本当の問題(TL; DR):
私は日付の時間がこの"YYYY-MM-DD HH:MM:SS" のようなUTCに格納されているデータベース持っを。私は任意のタイムゾーンに簡単に変換するDateFormatter( "yyyy-MM-dd hh:mm:ss"という形式の文字列)とタイムゾーン(UTC)のオブジェクトを初期化したいと思います。彼のデフォルトのタイムゾーン時間にユーザ)。 iOSでこれをどのように達成できますか?
編集:タイトルと開始時刻のクラスイベントがあるとします。タイトルは文字列です。開始時間はどのようにする必要がありますか?
*「タイムゾーンなしの時間は意味をなさない」*と書かれています。それは間違ったプレーンです。もちろんそれは意味をなさない。 「日付」はある時点である。私が「今」と言えば、それは世界のすべての人にとって同じポイントです。タイムゾーンは、誰かが知りたいと思うようになるまで「時間帯の中で「今」は何時ですか?次に、 'Date'を与えられたタイムゾーンで' String'にフォーマットするだけです。 – rmaddy
@rmaddy私はあなたに同意しなければならないかもしれません。誰かがあなたにこの時間の注釈 "1970-12-12 11:40:30"を与えると想像してください。あなたはそれがいつ始まったのか分かりません、それは決定的ではありません。あなたが何を記述しているかは、イベントの後に秒が渡されます。これはすべてのコンテキストで同じです。あなたはタイムゾーンと同じようなスタートポイントを与えなければなりません。 – Exprove
しかし、文字列 "1970-12-12 11:40:30"は "日付"ではありません。それは文字列です。特定のタイムゾーンに基づいてその文字列を 'Date'に変換します。 'Date'を取得したら、それを保存します。後でそれを取得し、あなたはあなたが望む任意の時間帯のために再び 'Date'を文字列に変換することができます。それがポイントです。 'Date'オブジェクトには特定のタイムゾーンはなく、必要なものはありません。 – rmaddy