为什么这个 dateFormatter 记录(空)
Why does this dateFormatter log (null)
我正在尝试使用以下代码将 nsstring 转换为日期:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-mm-dd hh:mm:ss";
NSDate *date = [dateFormatter dateFromString:quota.datetime];
字符串 quota.datetime 如下所示:
2016-02-17 22:00:00
但是,当我使用 NSLog 日期时,我得到 (null)。为什么?
yyyy
- 4 位数年份。
mm
- 两位数分钟。嗯。您在月份和分钟内都使用它。那是不对的。 2 位数月份为 MM
.
dd
- 两位数的日期。
hh
- 2 位 12 小时制。嗯。您的日期字符串采用 24 小时制。规范说需要 HH
.
ss
- 两位数秒。
因此,根据查看文档和您希望解析的日期字符串,您需要以下格式:
yyyy-MM-dd HH:mm:ss
这样试试。这对你有帮助。
NSDateFormatter *formatter;
if (!formatter){
formatter= [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//2015-09-04 09:34:00
}
NSDate *date = [formatter dateFromString:@"2015-09-04 09:34:00"];
以下是日期格式字符串中常用的说明符:
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
关注此 link 以了解更多关于 DateForamtter and Date Format 的信息。
我正在尝试使用以下代码将 nsstring 转换为日期:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-mm-dd hh:mm:ss";
NSDate *date = [dateFormatter dateFromString:quota.datetime];
字符串 quota.datetime 如下所示:
2016-02-17 22:00:00
但是,当我使用 NSLog 日期时,我得到 (null)。为什么?
yyyy
- 4 位数年份。
mm
- 两位数分钟。嗯。您在月份和分钟内都使用它。那是不对的。 2 位数月份为 MM
.
dd
- 两位数的日期。
hh
- 2 位 12 小时制。嗯。您的日期字符串采用 24 小时制。规范说需要 HH
.
ss
- 两位数秒。
因此,根据查看文档和您希望解析的日期字符串,您需要以下格式:
yyyy-MM-dd HH:mm:ss
这样试试。这对你有帮助。
NSDateFormatter *formatter;
if (!formatter){
formatter= [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//2015-09-04 09:34:00
}
NSDate *date = [formatter dateFromString:@"2015-09-04 09:34:00"];
以下是日期格式字符串中常用的说明符:
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
关注此 link 以了解更多关于 DateForamtter and Date Format 的信息。