3

为什么我的 NSDateFormatter 返回 null?这是我的代码:

  NSString *dateString = @"21-12-2012 11:05:15";
  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm:ss"];
  NSDate *dateFromString = [[NSDate alloc] init];
  dateFromString = [dateFormatter dateFromString:dateString];

  [dateFormatter setDateFormat:@"dd/MM/yyyy"];
  NSString *strDate = [dateFormatter stringFromDate:dateFromString];

我的strDate回报

21/12/2012

但当:

NSString *dateString = @"13-12-2012 13:17:58";

我的strDate回报null

这很奇怪,有人遇到过吗?

4

2 回答 2

6

使用 HH 代替 hh。

hh 通常是 12 小时时间,而 HH 通常是 24 小时时间。

[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];

一个很好的官方参考,由苹果自己链接,在这里。正如 Zaph 所提到的,另一张好桌子在这里。

于 2013-01-13T12:18:56.383 回答
2

你应该使用

[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
于 2013-01-13T12:20:07.583 回答