Как создать отметку времени даты, используя стандарты формата для ISO 8601 и RFC 3339?
Цель - это строка, которая выглядит так:
"2015-01-01T00:00:00.000Z"
Формат:
- год, месяц, день, как "XXXX-XX-XX"
- буква "T" в качестве разделителя
- час, минута, секунды, миллисекунды, как "XX: XX: XX.XXX".
- буква "Z" в качестве указателя зоны для нулевого смещения, a.k.a. UTC, GMT, время Zulu.
Лучший случай:
- Быстрый исходный код, простой, короткий и простой.
- Не нужно использовать какие-либо дополнительные фреймворки, подпроект, cocoapod, код C и т.д.
Я искал StackOverflow, Google, Apple и т.д., и не нашел ответа на этот вопрос.
Классы, которые кажутся наиболее перспективными, NSDate
, NSDateFormatter
, NSTimeZone
.
Связанный Q & A: Как мне получить дату ISO 8601 в iOS?
Вот лучшее, что я придумал до сих пор:
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))