gpt4 book ai didi

ios - NSDateFormatter MMM 转换

转载 作者:行者123 更新时间:2023-11-29 00:11:50 27 4
gpt4 key购买 nike

在 XCode 9 之前,我对 DateFormatter 没有任何问题。

随着更新,我遇到了一个似乎无法绕过的问题。

我正忙于将日期从 NSString 转换为 NSDate,但是我的代码似乎无法初始化 NSDate。

我的代码:

NSString *testdate = @"Sep 20 2017  1:46PM"; // this is how my date looks

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMM dd yyyy hh:mma"];

NSDate *thisDate = [df dateFromString: testdate]; // this returns nil

我试过用各种方法操作字符串,只有在我打开函数后才发现日期格式问题出现了。

有没有人发现这个问题和可能的解决方案?

编辑:

我使用此功能的唯一设备是装有 iOS 11 的 iPhone 7(测试了两台不同的设备,装有 iOS 10 的 iPhone 7 也能正常工作)。我有一部 iPhone 6 plus 和一部 iPhone 7 Plus,它们都在 iOS 11 上,而且它们都在工作......使用时间格式

当我将 [NSDate date] 转换为具有相同日期格式的字符串时,我的结果是:M09 20 2017 1:46PM... - 这似乎是一个日期格式问题(似乎是在我更改时间格式时发生的测试)并且现在正在工作但是这不是我的问题

最佳答案

经过仔细调查,似乎如果我设置了 DateFormatter,我还需要添加一个 Locale 才能使其正常工作...我从服务器获得的日期,所以我不能只更改它,因为正在使用在网站上也是如此。

我从服务器收到的日期是上午/下午,区域设置解决了这个问题

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMM dd yyyy hh:mma"];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];

这解决了我遇到的问题。

关于ios - NSDateFormatter MMM 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46321963/

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