Iphone NSDateFormatter - 无法加载图像文件

时间:2012-02-24 12:07:05

标签: ios time timezone nsdate nsdateformatter

在我的sqlite数据库中,我有一个NSDate字段,我使用此代码创建一个具有唯一名称的图像文件,并根据该日期加载图像。

NSDateFormatter *digitsOnlyDateFormatter = [[NSDateFormatter alloc] init]; [digitsOnlyDateFormatter setDateFormat:@"yyyyMMddHHmmss"]; NSString *imageDateString = [digitsOnlyDateFormatter stringFromDate:[self imageDate]];

如果我从iphone设置更改时区并在数据库中添加新记录,则无法加载使用其他时区保存的其他图像。

我认为转换存在问题。 有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

部分NSDateFormatter格式可以被用户设置覆盖:特别是AM / PM与24小时时间的选择。

您可以通过设置格式化程序的区域设置来解决此问题。 (注意:这是你应该只在这样的情况下才能创建需要在语言环境中保持一致并且不会向用户显示的字符串)。

NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[digitsOnlyFormatter setLocale:enUSPOSIXLocale];

P.S。如果你想要相对于同一个时区制作字符串,你还应该设置格式化程序的时区:

[digitsOnlyFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];