ios - 将字符串转换为日期时,日期存在差异

标签 ios nsdate nsdateformatter

我正在使用以下代码从字符串中获取日期。代码中似乎一切都很好,但当我打印输出日期时,日期存在 12:30 小时的差异。

可能是什么问题?我错过了什么吗?

NSString *strDate = @"8/22/2017 7:00:00 AM";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
NSDate *date = [df dateFromString:strDate];
NSLog(@"%@", [date description]);

输出:

2017-08-21 18:30:00 +0000

最佳答案

小时说明符错误,12 小时格式为 hh

[df setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];

注意:

请注意,NSLog 始终以 UTC 格式打印日期,尽管日期格式化程序会考虑本地时区。

关于ios - 将字符串转换为日期时,日期存在差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45812727/

相关文章:

android - cordova/phonegap 推送通知 unregister() 即使在关闭互联网的情况下也会返回成功

ios - 是否可以从 NSFetchedResultsController 获取最新的快照

ios - 如何将字符串转换为 NSDate?

ios - 将日期字符串转换为 NSDate

ios - 带有日期字符串的 NSString 的时区是什么?

ios - 突出显示屏幕上的按钮

ios - 如何使用图像和文本制作自定义 UIButton?

ios - 如何使用 Swift 显示特定日期的文本?

cocoa - 将 NSDate 转换为 NSString 导致无法识别的选择器异常

iphone - NSDate alloc init & 获取发送到释放实例的消息