Ios NSDateFormatter返回空值
我尝试使用NSDateFormatter格式化日期,但是对于某些日期,格式相同,它返回的时间不带第一个数字,而对于其他日期,它返回nullIos NSDateFormatter返回空值,ios,date,nsdateformatter,Ios,Date,Nsdateformatter,我尝试使用NSDateFormatter格式化日期,但是对于某些日期,格式相同,它返回的时间不带第一个数字,而对于其他日期,它返回null NSDateFormatter *dateFormat = [NSDateFormatter new]; [dateFormat setDateFormat:@"EEEE dd/MM/yyyy HH:mm"]; dateFormat.locale = [NSLocale localeWithLocaleIdentifier:@"en_AU"]; NSDate
NSDateFormatter *dateFormat = [NSDateFormatter new];
[dateFormat setDateFormat:@"EEEE dd/MM/yyyy HH:mm"];
dateFormat.locale = [NSLocale localeWithLocaleIdentifier:@"en_AU"];
NSDate *startDate = [dateFormat dateFromString:startString];
NSDate *endDate = [dateFormat dateFromString:endString];
此日期:“2017年1月21日星期六17:00”将返回(空)
此日期:“2017年9月2日星期四14:00”将返回2017-09-02 04:00:00+0000
此日期:“2017年9月2日星期四20:30”将返回2017-09-02 10:30:00+0000
谁能告诉我哪里出了问题。
感谢
EEEE-dd/MM/yyyyy-HH:MM
至EEEE-MM/dd/yyyy-HH:MM
。只是一个小小的错误颠倒了几天和几个月的位置。
因为,很明显,“2017年1月21日星期六17:00”指的是1月21日,因为一年中的第21个月不存在(至少在这里不存在)
对于10小时的差异,这是由于时区。在恩乌(我猜是东海岸),与格林尼治标准时间相差10个小时。“dd/MM”:日/月,但“1/21/”,显然是月/日,因为第21个月。。。在澳大利亚东部,格林威治标准时间是-10,所以它会减少10个小时。谢谢。我一秒钟前就明白了,这就是我工作到很晚的原因。你能把它作为一个答案,这样我就可以把它标记为解决了吗