我将日期存储为字符串,格式为:2018-07-10 21:00:29 +0000
我创建了一个格式化程序,将字符串转换回日期:
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSZ";
[formatter setLocale:[NSLocale currentLocale]];
NSDate *date = [formatter dateFromString:[chore getDate]];
但是,返回的日期始终为零。有人知道我在做什么错吗?
答案 0 :(得分:3)
您在日期格式中设置了错误的格式。因此它将始终返回nil值。
以下方法可以以NSDate格式返回日期。
-(NSDate *)convertDate :(NSString *)date1 //the argument date1 is the string date you used
{
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z"; // the format which you used in the string date
[formatter setLocale:[NSLocale currentLocale]]; //This for set the Locale .It is not compulsory.
NSDate *date = [formatter dateFromString:date1];
return date;
}
答案 1 :(得分:1)
请参阅日期格式化程序日期格式here:
您需要将日期格式更新为:
"yyyy-MM-dd HH:mm:ss Z"