0

我有一个字符串格式的日期“ 2013-03-19T19:00:50
我正在尝试将其转换为NSDate使用NSDateFormatter

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-ddThh:mm:ss"];
NSDate *startDate = [dateFormatter dateFromString:date];
NSLog(@"date in date format : %@",startDate);

但它给了我空日期

date in date format : (null)

问题是什么?

4

3 回答 3

7

采用 :

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

您有 24 小时格式的时间,因此HH是必需的。hh当时间为 12 小时格式时使用。

并且T必须是单引号,T 不是日期的一部分,这是一个添加的文本。

于 2013-03-21T07:10:02.397 回答
1

根据日期格式化程序模式 hh意味着Hour [1-12]You want Hour [0-23]which is HH.

任何不是日期格式模式或不能以这种方式解释的字母都必须放在撇号之间。

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

于 2013-03-21T07:12:20.517 回答
0

这样做,

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *startDate = [dateFormatter dateFromString:date];
NSLog(@"date in date format : %@",startDate);
于 2013-03-21T07:08:07.090 回答