我需要转换
3/27/2015 5:45:00 AM
将字符串转换为 NSDate 对象。
我尝试过这个;
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
但是它不起作用。
我无法弄清楚可能出了什么问题?
谢谢
添加代码;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"]
编辑:
不知何故,因为时间片(AM/PM)为空。 我从日期格式化程序中删除了“a”,并从字符串中删除了“AM”。没关系。 但还是不知道“a”有什么问题?
最佳答案
您忘记将日期区域设置的区域设置添加到日期格式化程序中。
该代码将在任何设置为美国英语的设备上正常运行,但其他语言环境将失败。只需添加 en_US_POSIX
作为日期格式化程序的区域设置:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"];
关于ios - NSDateFormatter 字符串到日期的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29302946/