網頁

2019年3月24日 星期日

將字串轉回NSDate

之前有一篇是寫字串轉回NSDate: iOS開發筆記 -NSDate用字串初始及轉回字串
好久前的了,最近剛好遇到一種寫法:2019-03-24T19:35:39.208+08:00

試半天都試不出要怎用,原本是請對方改成2019-03-24T19:35:39+0800,再使用底下的程式去轉
NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
[formatter setFormatOptions:NSISO8601DateFormatWithInternetDateTime];
[formatter dateFromString:timeString];

但發現後續發現隨程式的增長連自己都搞不清楚格式而一團亂,最好的方式是對方用制式的我也是制式的,依NSDateFormatter所述,2019-03-24T19:35:39.208+08:00好像就是RFC3339,可以使用
NSDateFormatter *formater = [NSDateFormatter new];
[formater setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss.SSSZZZZZ"];
[formater dateFromString:timeString];

這樣就可以正確轉回去了。

參考網址:
NSDateFormatter