ISO 8601およびRFC 3339のフォーマット標準を使用して、日時スタンプを生成する方法は?
目標は、次のような文字列です。
"2015-01-01T00:00:00.000Z"
フォーマット:
- 年、月、日、「XXXX-XX-XX」
- セパレータとしての文字「T」
- 時、分、秒、ミリ秒を「XX:XX:XX.XXX」として表します。
- ゼロ オフセット、別名 UTC、GMT、ズールー時間のゾーン指定子としての文字「Z」。
最良の場合:
- シンプル、短く、簡単な Swift ソース コード。
- 追加のフレームワーク、サブプロジェクト、cocoapod、C コードなどを使用する必要はありません。
StackOverflow、Google、Apple などを検索しましたが、これに対する Swift の回答が見つかりませんでした。
最も有望と思われるクラスはNSDate
、、、NSDateFormatter
ですNSTimeZone
。
関連する Q&A: iOS で ISO 8601 の日付を取得するにはどうすればよいですか?
これが私がこれまでに思いついた最高のものです:
var now = NSDate()
var formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
println(formatter.stringFromDate(now))