【问题标题】:dateFromString returning nildateFromString 返回零
【发布时间】:2018-03-27 10:34:50
【问题描述】:

我有一个函数可以将 NSString 转换为 NSDate。

+ (NSDate *)getNSDateFromString:(NSString *)strDate andFormat:(NSString *)format{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat : format];
    NSString *stringTime = strDate;
    NSDate *dateTime = [formatter dateFromString:stringTime];
    return dateTime;
}

strDate 的值为“27-Mar-2018 18:28:09”。 格式为“dd-MM-yyyy HH:mm:ss”

该函数返回 nil 值。 任何人都可以帮忙吗?谢谢。

【问题讨论】:

标签: ios objective-c nsdateformatter


【解决方案1】:

将日期格式更改为dd-MMM-yyyy HH:mm:ss

以下是了解日期格式字符串的不错参考:Quick Guide to Objective-C DateFormatting & Date_Field_Symbol_Table

y = year
Q = quarter
M = month
w = week of year
W = week of month
d = day of the month
D = day of year
E = day of week
a = period (AM or PM)
h = hour (1-12)
H = hour (0-23)
m = minute
s = second

如果你将它与你的日期组件匹配

27-Mar-2018 18:28:09 = dd-MMM-yyyy HH:mm:ss

在哪里

27   = dd (date day)
Mar  = MMM (Month)
2018 = yyyy (year)
18   = HH (HH - 24 hours format and hh - 12 hours format)
28   = mm (minutes)
09   = ss (seconds)

【讨论】:

  • 支持他的回答 - MMM 是月份名称的缩写。
  • @Nitish - 谢谢,我将添加有关每个组件的详细描述以及更多详细信息
  • 是的..这对我有用..感谢分享这些。我现在很清楚。
【解决方案2】:

因为您的日期字符串是“27-Mar-2018 18:28:09”。格式应为“dd-MMM-yyyy HH:mm:ss”。

将格式从"dd-MM-yyyy HH:mm:ss"更改为"dd-MMM-yyyy HH:mm:ss"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多