0

下面是我正在使用的

NSString *myDate = @"01-11-2014 10:22 PM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm a"];
NSDate *newDate = [dateFormatter dateFromString:myDate];
NSLog(@"new date===%@=====%@", newDate, myDate);

下面是我得到的

new date===2014-11-01 19:22:00 +0000=====01-11-2014 10:22 PM
                      ^^

我期待的输出是

new date===2014-11-01 22:22:00 +0000=====01-11-2014 10:22 PM
                      ^^

知道出了什么问题吗?


当我有 AM 我有以下输出

new date===2014-11-01 07:22:00 +0000=====01-11-2014 10:22 AM
                      ^^

编辑 1

实际上,我正在做的是在 UITextField 中询问日期和时间(可悲但真实,因为客户希望它以相同的方式)......然后连接这个字符串并将其转换为 NSDate。

所以我所拥有的是

 NSString myDate = [NSString stringWithFormat@"%@ %@", appDate, appTime];
4

1 回答 1

0

添加这行代码:

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

你可能有错误的时区。您必须将时区设置为您的时区。

于 2013-07-26T18:54:32.887 回答