0

在设备的当前(本地)日期和时间转换日期和时间时遇到问题。我从 API 获取格式为 2013-04-03 01:07:56 +0000 的日期,我想将此日期转换为本地日期和时间格式并显示。谁能建议我如何实现这一目标?

4

1 回答 1

2

只需在dateFormatter中设置timeZone,这段代码就够了

NSString *dateString = @"24 08 2011 09:45PM";
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];

dateFromString 现在将具有日期 24 08 2011 08:45PM(GMT).. 然后将其转换为具有本地时间的字符串,只需编写以下代码,

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
[formatter setLocale:[NSLocale systemLocale]];

[dateFormatter setDateFormat:@"dd MM yyyy hh:mma"];
NSString *stringFromDAte = [dateFormatter stringFromDate:dateString];
于 2013-04-03T07:02:35.103 回答