gpt4 book ai didi

ios - iOS NSDateFormatter无法正确解析小时

转载 作者:行者123 更新时间:2023-12-01 19:27:15 25 4
gpt4 key购买 nike

首先是代码:

NSString* dateTimeString = [NSString stringWithFormat:@"%@%@", [aDictionary objectForKey:@"date"], [aDictionary objectForKey:@"time"]];

NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyyMMddHHmm"];

NSDate* dsate = [dateFormatter dateFromString:dateTimeString];

dateTimeString字符串值为“201106242204”

但是dsdate的值不正确,在调试器中它显示:2011-06-24 19:04:00 +0000

如您所见,小时应该是22而不是19。我已经在此浪费了相当多的时间。尝试设置时区,语言环境等,但没有任何效果。

最佳答案

请注意NSDateFormatter is locale-aware。这意味着,即使您指定了日期格式字符串,如果设备上的当前语言环境为您提供的字符串使用不同的格式,它将覆盖您提供给格式化程序的字符串。您当前位置的UTC偏移量是多少?由于NSDateFormatter始终提供UTC时间,因此,如果偏移量为-6,则它将在其他时区中返回正确的值。我真的不喜欢NSDateFormatter的功能之一。您可以通过在日期格式化程序上调用setTimeZone:获得所需的结果。

尝试在已解析的NSDate实例上调用-descriptionWithCalendarFormat:timeZone:locale:,并传递您的语言环境和时区。我很好奇它是否输出您想要的结果。

关于ios - iOS NSDateFormatter无法正确解析小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com