【发布时间】:2012-11-29 23:08:47
【问题描述】:
我得到如下的时间格式
“2012 年 12 月 12 日星期三 09:08:30 GMT”现在我想将其转换为当地时间格式。请给我您的建议
谢谢,
维贾扬。
【问题讨论】:
我得到如下的时间格式
“2012 年 12 月 12 日星期三 09:08:30 GMT”现在我想将其转换为当地时间格式。请给我您的建议
谢谢,
维贾扬。
【问题讨论】:
我们首先需要创建一个NSDate 对象形式'Wed, 12 Dec 2012 09:08:30 GMT'
NSString *dateString = @"Wed, 12 Dec 2012 09:08:30 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"EN"]];
NSDate *date = [dateFormatter dateFromString:dateString];
您可能发现我在NSDateFormatter 上设置了区域设置,这与本地化日期有关(月份和日期都是英文)。
现在您可以使用日期格式化程序在本地时区显示 dat:
[dateFormatter setLocale:[NSLocale systemLocale]];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
NSString *localDateString = [dateFormatter stringFromDate:date];
【讨论】:
试试这个:
本地到格林威治标准时间
NSString *dateString = @"Wed, 12 Dec 2012 09:08:30 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MM yyyy hh:mma"];
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"BST"];
[dateFormatter setTimeZone:sourceTimeZone];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
【讨论】: