ios - 从 String 到 NSDate 的错误转换

标签 ios objective-c nsdate nsdateformatter

<分区>

我有日期(NSDate),

我转换格式为“EEEE,dd MMM YYYY”所以输出是。 “2017 年 5 月 22 日,星期一”

但是当把这个字符串转换成日期时,它给出了错误的日期

使用这段代码

 NSDateFormatter * formatter = [NSDateFormatter new];
 [formatter setDateFormat:@"EEEE,dd MMM YYYY"];
  NSDate *currentDate = [formatter dateFromString:“Monday,22 May 2017”];

错误的输出是 2016-12-25 18:30:00 +0000

有人可以帮忙吗?

最佳答案

日期没有正确的格式,但在这里使用 yyyy 而不是 YYYY

@"YYYY" is week-based calendar year.

@"yyyy" is ordinary calendar year.

[formatter setDateFormat:@"EEEE,dd MMM yyyy"];

示例

NSDateFormatter * formatter = [NSDateFormatter new];
[formatter setDateFormat:@"EEEE,dd MMM yyyy"];
NSDate *currentDate = [formatter dateFromString:@"Monday,22 May 2017"];

关于ios - 从 String 到 NSDate 的错误转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448926/

上一篇:ios - xcode9中grpc报错GPR_UNREACHABLE_COD如何修正

下一篇:ios - didReceiveRemoteNotification 没有在 Firebase 中调用?

相关文章:

objective-c - iOS 的国家和国家拨号代码列表

objective-c - 将时间戳转换为 nsdate 格式

ios - NSDate 会根据设备的当前位置发生变化吗?还是独立的?

html - 33% + 33% + 34% 与 iOS 上的 100% 宽度不同

ios - 如何在获取要填充到 UITableView 中的 JSON 数据时显示 UIActivityIndi​​catorView?

ios - Fabric Crashlytics 不工作。 iOS 14 应用/XCode 12

c++ - 使用 CMake 为 iOS 编译

objective-c - 定义方法时,我在 Objective-C 中的语法有什么问题?

objective-c - 在自动引用计数 (ARC) 下,我应该在哪里放置我的 free() 语句?

iPhone - NSDateComponents/NSCalendar 和耗时(例如,3 小时前扫描。)