首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDateFormatter不会格式化奇怪的日期字符串

NSDateFormatter不会格式化奇怪的日期字符串
EN

Stack Overflow用户
提问于 2013-03-22 21:39:48
回答 3查看 1.8K关注 0票数 2

我收到了一个日期字符串,看起来像这样:"2013-03-20T21:13:26-7:00“,这是我从web后端收到的。我不能控制后端,只是一个供参考的。

我更喜欢这样的日期格式: 3/20的9:13 20。

当我执行以下操作时

代码语言:javascript
复制
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *date  = [dateFormatter dateFromString:@"2013-03-20T21:13:26-7:00"];

date为空。

我的第一个想法是,日期字符串看起来很奇怪,也许我应该删除T和"-7:00",因为我收到的每个日期都会附加"-7:00“,我不确定它是用来做什么的。

即使字符串看起来像@"2013-03-20 21:13:26",date仍然是空的。

我承认我不是格式化日期的专家,所以如果我能在这个问题上得到一些帮助,那就太好了。

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-22 21:45:19

您必须将dateFormat设置为dateFormatter

代码语言:javascript
复制
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];
NSDate *date  = [dateFormatter dateFromString:@"2013-03-20T21:13:26-7:00"];

[dateFormatter setDateFormat:@"hh:mma 'at' MM/yy"];
NSString *dateString = [dateFormatter stringFromDate:date];
票数 14
EN

Stack Overflow用户

发布于 2013-03-22 21:42:34

设置dateFormatter的日期格式,您的问题出在日期的最后部分,其次,您可以在日期格式化程序中设置T,如下所示

代码语言:javascript
复制
  [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];
  [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

  NSDate *date  = [dateFormatter dateFromString:@"2013-03-20T21:13:26-7:00"];
票数 1
EN

Stack Overflow用户

发布于 2013-03-22 21:45:19

设置dateFormat,

代码语言:javascript
复制
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15571801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档