NSDate的时间格式
问题描述:
我有从Web服务进入我的应用程序的日期时间值。格式如下:NSDate的时间格式
2013-03-24T09:45:00.000-04:00
我只需要时间从该值。我使用NSDateFormatter
和我设定的日期格式如下:
[df setDateFormat:@"HH:mm:ss"];
,我这样做时,我得到一个非常模糊的运行时错误。但是,我没有错误,当我用下面的(尽管它不符合我的要求):
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssz"];
有人能帮忙吗?
答
试试这个
NSString *originalDateString = @"2013-03-24T09:45:00.000-04:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssz"];
NSDate *date = [dateFormatter dateFromString:originalDateString];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSString *newDateString = [dateFormatter stringFromDate:date];
答
也许如果你使用日期格式化器检索的NSDate实例,并从那里做你自己格式化。
NSSTring *dateString = "2013-03-24T09:45:00.000-04:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *dateFromWebApp = [dateFormatter dateFromString:dateString];
没有测试过寿,但它应该工作。
Cheers
+0
这根本行不通。你从不指定日期格式。 – rmaddy 2013-03-24 22:18:31
对于该TZ方案,日期格式应以ZZZZZ结尾。 – 2013-03-24 21:02:02
@HotLicks我得到正确的输出后发布了代码。你能证实这一点吗? – Anupdas 2013-03-24 21:06:55
在AM/PM中,NSDateFormatter中是否有方法将24小时时间格式转换为12? – Pheepster 2013-03-24 21:08:23