【问题标题】:How to convert NSString to NSDate object [duplicate]如何将 NSString 转换为 NSDate 对象 [重复]
【发布时间】:2016-05-25 09:04:43
【问题描述】:

我正在以这种格式从服务器接收 TimeString - "2012-04-23T14:00:00.511Z",由于某种原因,当我尝试通过以下操作将其转换为 NSDate 对象时,我得到了 nil

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSDate *myDate = [df dateFromString: @"2012-04-23T14:00:00.511Z"];

可能是什么问题?

【问题讨论】:

  • 您的格式字符串错误。检查文档。
  • 您在字符串中看到T 了吗?我在格式字符串中没有看到任何匹配项。此外还有空格、毫秒等。
  • 即使我使用@"yyyy-MM-dd" 格式字符串,它也返回nil
  • 你读过我们的cmets吗? 如何 "yyyy-MM-dd" 应该匹配字符串?????
  • 好的,我明白了,似乎我与此无关,而不是从服务器请求正确的时间格式字符串。

标签: ios objective-c nsstring nsdate


【解决方案1】:

你的代码应该是这样的,

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *myDate = [df dateFromString: @"2012-04-23T14:00:51Z"];
NSLog(@"%@",myDate);

【讨论】:

  • 非常感谢。我最近想通了。很抱歉没有投票,以前的人通过投票降低了我的评分,我现在甚至有资格为自己投票并保存好的答案:)
  • 不客气.... :) 如果它有效并且您觉得它有帮助,那么请接受答案,以便其他有类似问题的人可以使用它... :)
猜你喜欢
  • 1970-01-01
  • 2013-01-16
  • 2012-12-17
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
相关资源
最近更新 更多