簡體   English   中英

NSDateFormatter,NSDate,UTC和奇怪的日期格式

[英]NSDateFormatter, NSDate, UTC and strange date format

我有一個非常奇怪的日期格式通過JSON來找我。 例如 - “July,18 2010 02:22:09”

這些日期始終為UTC。 我正在使用NSDateFormatter解析日期,並將timeZone設置為UTC ...

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[inputFormatter setDateFormat:@"MMMM, dd yyyy HH:mm:ss"];
NSDate *formatterDate = [inputFormatter dateFromString:dtStr];

但是,記錄的日期與我的設備的偏移量一起出現...

“2010-07-18 02:22:09 -0600”

我在這做錯了什么?

我認為這是因為你的NSDate沒有使用UTC時區。 文檔說這是關於NSDate的描述方法:

接收器的字符串表示形式,國際格式為YYYY-MM-DD HH:MM:SS±HHMM,其中±HHMM表示從GMT開始的小時和分鍾的時區偏移(例如,“2001-03-24 10:45” :32 +0600“)。

所以,你真的沒有做錯任何事。 NSDate的行為符合預期。 你想達到什么目的? 你需要字符串中的日期嗎? 你在做日期比較嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM