【问题标题】:Convert NSString 8-8-2015 12:00:00 AM to NSDate将 NSString 8-8-2015 12:00:00 AM 转换为 NSDate
【发布时间】:2015-11-05 07:01:55
【问题描述】:

我知道这个问题被问了太多次,但没有一个符合我的要求。

我在NSString 中有“8-8-2015 12:00:00 AM”,名为 strEventTimeBegin。如何将此 NSString 转换为 NSDate?这是我尝试过的,但返回 null。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

NSDate *startEventDate = [dateFormatter dateFromString:strEventTimeBegin];

【问题讨论】:

  • 它不起作用,因为您的日期格式与您的字符串格式不匹配。一切都必须匹配并且顺序相同。
  • 您可能已经发现数字格式化程序用于完全不同的模式。这个事实至少不会让你感到困扰吗? M-d-yyyy hh:mm:ss a 可能更接近现实。

标签: ios objective-c nsstring nsdate nsdateformatter


【解决方案1】:

凭记忆,但这应该可行:

[dateFormatter setDateFormat:@"d-M-yyyy hh:mm:ss a"];

只是为了解释,在你的例子中;

  1. 日期和年份是倒退的。
  2. 您使用的是 2 位数的天数和 个月(它正在寻找 08-08-2015)。
  3. 您错过了句号 (AM/PM) 标识符。

【讨论】:

  • 12 小时制,使用hh,而不是HH
猜你喜欢
  • 1970-01-01
  • 2016-03-25
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2020-01-19
  • 1970-01-01
相关资源
最近更新 更多