NSDate的时间格式

时间:2013-03-24 20:40:26

标签: objective-c cocoa-touch

我有一个日期时间值从Web服务进入我的应用程序。格式如下:

2013-03-24T09:45:00.000-04:00

我只需要从这个值开始的时间。我正在使用NSDateFormatter并设置日期格式如下:

[df setDateFormat:@"HH:mm:ss"];

当我这样做时,我得到一个相当神秘的运行时错误。但是,当我使用以下内容时,我没有错误(虽然它不符合我的要求):

[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssz"];

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

试试这个

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];

答案 1 :(得分:-1)

也许如果您使用日期格式化程序来检索NSDate实例,那么您是否拥有格式化。

NSSTring *dateString = "2013-03-24T09:45:00.000-04:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *dateFromWebApp = [dateFormatter dateFromString:dateString];

没有测试过,但它应该可以工作。

干杯