在objective-c日期选择器问题

时间:2016-07-28 08:00:16

标签: ios objective-c

我已将日期发送到服务器“EEE,dd MMM YYYY h:mm:ss a”格式,此日期应以json格式保存,如“YYYY-MM-dd'T'HH:mm:ss .SSS'Z'”。 请给我建议。

1 个答案:

答案 0 :(得分:1)

这里有精确的解决方案。我为你试了一个样品。这就是解决方案。

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE, dd MMM yyyy h:mm:ss a"];  
lbl.text = [formatter stringFromDate:[NSDate date]]
NSLog(@"The lbl text is - %@",lbl.text); 

打印输出

The lbl text is - Thu, 28 Jul 2016 2:44:56 PM

然后您需要以相同的日期格式将字符串转换为日期

[formatter setDateFormat:@"EEE, dd MMM yyyy h:mm:ss a"];  
NSDate *date = [dateFormatter dateFromString:lbl.text];
NSLog(@"The date is - %@",date);

在上面的代码中,如果你没有设置日期格式“EEE,dd MMM yyyy h:mm:ss a”,它会返回nil为date.So,当你得到日期格式设置格式时,就像是相同的字符串格式。 打印结果是

The date is - 2016-07-28 09:14:56 +0000

然后根据需要设置日期格式,因为您已经获得了没有nil的日期。

[formatter setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss.SSS'Z'"];
 NSString *strDate = [dateFormatter stringFromDate:date];
 NSLog(@"The strDate is - %@",strDate);

最终印刷版本

The strDate is - 2016-07-28T14:44:56.000Z