繁体   English   中英

将NSString转换为NSDate返回(空)值

[英]Convert NSString to NSDate returns (null) value

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

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)

有什么问题

采用 :

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

您的时间为24小时格式,因此需要HH 时间为12小时制时使用hh

并且T必须用单引号引起来,T不是日期的一部分,这是在其上添加的文本。

根据日期格式化程序模式, hh表示Hour [1-12]您需要Hour [0-23] ,即HH

并且,任何非日期格式模式的字母或必须以这种方式解释的字母都必须放在撇号之间。

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

这样吧

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM