【问题标题】:IOS how to set date format [duplicate]IOS如何设置日期格式[重复]
【发布时间】:2013-08-07 08:41:20
【问题描述】:

我有一个这样的字符串

NSString *datestr = @"2013-08-06T03:51:54+00:00";

我尝试如下设置日期格式:

NSDateFormatter *dformat = [[NSDateFormatter alloc]init];

[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];

NSDate *date = [dformat dateFromString:datestr];

但是日期将为零,所以,谁能告诉我如何设置日期格式,谢谢!

【问题讨论】:

  • 一天都没有NSDateFormatter dupe!!
  • 我想在“2015-12-31T01:45:00.5876454+05:30”这个fromat?
  • 这个问题的标题比之前回答的问题更易于搜索,而另一个问题没有可接受的答案

标签: ios nsdate


【解决方案1】:

试试这个:

 NSDateFormatter *dformat = [[NSDateFormatter alloc]init];

[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];

NSDate *date = [dformat dateFromString:datestr];

ZZZ 添加到格式化程序的末尾。

【讨论】:

  • -1 因为错误。打开 Xcode 并自己尝试。
  • 我试过了,还是不行。
【解决方案2】:

试试这个代码

NSString *datestr = @"2013-08-06T03:51:54+00:00";
NSDateFormatter *dformat = [[NSDateFormatter alloc]init];

[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];

NSDate *date = [dformat dateFromString:datestr];

使用小 z 其中 z 给你 - 具有特定的非位置格式。如果不可用,则回退到本地化的 GMT 格式。短格式使用一到三个字母,完整格式使用四个字母。在短格式中,除非在语言环境中打开了常用标志,否则不使用元区域名称

有关目标 c 中日期格式模式的更多信息的区域,请参阅此链接 http://www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns希望对你有帮助

【讨论】:

【解决方案3】:

试试下面:

NSString *dateString = @"2013-08-06T03:51:54+00:00";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ";

NSDate *date;
NSError *error;
[formatter getObjectValue:&date forString:dateString range:nil error:&error];

【讨论】:

  • 我得到了结果,谢谢
猜你喜欢
  • 1970-01-01
  • 2021-07-01
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
相关资源
最近更新 更多