Created
December 26, 2016 01:07
-
-
Save motooka/ba29ce3a1cbd3b5c97e667a8e99ced92 to your computer and use it in GitHub Desktop.
NSDateFormatterでの うるう秒 の動作確認
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//: Playground - noun: a place where people can play | |
import UIKit | |
var str = "Hello, playground" | |
// ================= | |
// === サーバなどから受領した日付データ(文字列)という想定 | |
// ================= | |
var dateStr = "" | |
dateStr = "2016-12-31T23:59:59Z" | |
//dateStr = "2016-12-31T23:59:60Z" | |
//dateStr = "2017-01-01T00:00:00Z" | |
//dateStr = "2017-01-01T08:59:59+0900" | |
//dateStr = "2017-01-01T08:59:60+0900" | |
//dateStr = "2017-01-01T09:00:00+0900" | |
// ================= | |
// === 与えられた日付文字列をパースしてみる | |
// === (59分60秒 という表現がパースできないことの確認) | |
// ================= | |
// let formatter = ISO8601DateFormatter() | |
let formatter = DateFormatter() | |
formatter.dateFormat = "YYYY-MM-DD'T'HH:mm:ssZZZZZ" | |
formatter.timeZone = TimeZone(abbreviation: "UTC") | |
//formatter.timeZone = TimeZone(abbreviation: "JST") | |
let date = formatter.date(from: dateStr) | |
// ================= | |
// === パース成功してたら1秒足してみる | |
// === (59分59秒に1秒足しても60秒にはならないことの確認) | |
// ================= | |
if date != nil { | |
str = "パース成功😎" | |
let datePlus1sec = date!.addingTimeInterval(1.0) | |
formatter.string(from: datePlus1sec) | |
} | |
else { | |
str = "パース失敗😇" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment