以UTC时间获取[NSDate日期]

时间:2013-11-20 10:02:09

标签: ios iphone objective-c

我正在使用最新的SDK开发iOS 5.0+应用程序。

我有这段代码来获取字符串日期:

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"ddMMyyyy HH:mm"];
NSDate* now = [NSDate date];
NSString* dateAsString = [formatter stringFromDate:now];

var now2013-11-20 10:59:21 CETdateAsString20112013 10:59,但我需要以UTC时间获取此日期。在西班牙,我认为是-1小时。

如何以UTC时间获得[NSDate日期]?

2 个答案:

答案 0 :(得分:19)

使用NSTimeZone

NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"ddMMyyyy HH:mm"];

// Add this part to your code
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[formatter setTimeZone:timeZone];

NSDate *now = [NSDate date];
NSString *dateAsString = [formatter stringFromDate:now];

答案 1 :(得分:2)

您可以使用日期格式化程序添加时区

NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[formatter setTimeZone:timeZone];