使用nsdate的Nsdateformatter可以在iOS中获取确切的日期

时间:2015-02-07 05:47:29

标签: ios nsdateformatter

我想从xml数据中获取日期,该数据字符串如下所示 "星期五,2015年2月6日11:25:00 -0600" 如何为这种类型的日期设置nsdateformatter" -0600是时区"。 请帮帮我

1 个答案:

答案 0 :(得分:2)

请参阅:ICU Formatting Dates and Times
另外:Date Field SymbolTable.,特别注意“Z”。

Z 时区:ISO8601基本hms? / RFC 822 -0800

示例:

NSString *dateString = @"Fri, 06 Feb 2015 11:25:00 -0600";
NSLog(@"dateString: %@", dateString);

输入dateString:

  

dateString:星期五,2015年2月6日11:25:00 -0600

NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"E, dd MMM yyyy H:mm:ss Z"];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date);

输出(格林威治标准时间时间):

  

日期:2015-02-06 17:25:00 +0000

使用特定格式从日期创建字符串:

NSDateFormatter *displayFormatter = [NSDateFormatter new];
[displayFormatter setDateFormat:@"E, dd MMM yyyy H:mm:ss Z"];
[displayFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
NSString *displayString = [displayFormatter stringFromDate:date];

输出(在时区CST中):

  

displayString:Fri,06 Feb 2015 11:25:00 -0600