我正在尝试使用以下内容从字符串生成日期:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMMM dd, yyyy HH:mm:ss"];
NSLog(@"ENDINGDATE: %@", [closure objectForKey:@"ENDINGDATE"]);
NSDate *tempDate = [dateFormatter dateFromString:[closure objectForKey:@"ENDINGDATE"]];
ENDINGDATE NSLog产生以下内容:
ENDINGDATE: April, 21 2011 20:00:00
一切似乎都很好,所以我很难过为什么tempDate被设置为零。有任何想法吗?谢谢!
答案 0 :(得分:27)
删除逗号后请尝试...
您可以使用以下日期格式:
d数月的日期;单位数天没有前导零。
dd每月的日期为数字;单位数天的零点。
EEE星期几作为三个字母的缩写。
dddd星期几作为其全名。
m月份为数字;单个数字月份没有前导零。
mm月份为数字;单个数字月份为零。
MMM Month作为三个字母的缩写。
mmmm月份作为其全名。
yy作为最后两位数的年份;多年来不到10岁的零点。
yyyy年份以四位数表示。h小时;单位数小时(12小时制)没有前导零。
小时;单位数小时(12小时制)的前导零。
<小时;单位数小时(24小时制)没有前导零。大写字母M不同于CF时间格式,以避免与月份冲突。
MM分钟;单位数分钟的前导零。大写MM不像CF timeFormat的mm,以避免与月份发生冲突。
秒;单位数秒没有前导零。 <秒> ss秒;单位数秒的前导零。答案 1 :(得分:4)
,
放错地方了。它应该在MMMM
之后。因此格式应定义为MMMM, dd yyyy HH:mm:ss
。
[dateFormatter setDateFormat:@"MMMM, dd yyyy HH:mm:ss"];
答案 2 :(得分:1)
是的,如果原型格式完全与实际格式不匹配,则为零。错误的逗号可能是你的问题(或者至少是它的一部分)。