有沒有一種簡單的方法將ISO8601時間戳轉換為格式化的NSDate?如果我使用以下代碼:NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm"];NSDate *myDate = [dateFormatter dateFromString:@"2010-01-28T15:22:23.863"];NSLog(@"%@", [dateFormatter stringFromDate:myDate]);它成功地轉換為一個Date對象,但是,我似乎無法以任何其他方式格式化它yyyy-MM-dd'T'HH:mm,即記錄的是什么2010-01-28T15:22:23如果我更改dateFormat以說[dateFormatter setDateFormat:@"yyyy-MMMM-d'T'HH:mm"];Date對象為null ...所以我的最終問題是如何格式化SQL數(shù)據(jù)庫中的ISO8601時間戳,以便使用,例如,NSDateFormatterMediumStyle返回“2010年1月1日”?
3 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
您需要另一個格式化程序來處理輸出。把它放在你的代碼之后:
NSDateFormatter *anotherDateFormatter = [[NSDateFormatter alloc] init]; [anotherDateFormatter setDateStyle:NSDateFormatterLongStyle];[anotherDateFormatter setTimeStyle:NSDateFormatterShortStyle];NSLog(@"%@", [anotherDateFormatter stringFromDate:myDate]);

牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
我有一個類似但稍微復雜的問題,我找到了一個非常簡單的解決方案!
問題: 我的傳入ISO8601日期如下所示:2006-06-14T11:06:00+02:00
它們在末尾有一個時區(qū)偏移量。
解決方案: 使用Peter Hosey的ISO8601DateFormatter,您可以從這里下載。
ISO8601DateFormatter *formatter = [[ISO8601DateFormatter alloc] init];NSDate *theDate = [formatter dateFromString:dateString];[formatter release], formatter = nil;
和
ISO8601DateFormatter *formatter = [[ISO8601DateFormatter alloc] init];NSString *dateString = [formatter stringFromDate:[twitch dateTwitched]];[formatter release], formatter = nil;
- 3 回答
- 0 關注
- 904 瀏覽
添加回答
舉報
0/150
提交
取消