NSDateFormatter 没有给出预期的结果
Posted
技术标签:
【中文标题】NSDateFormatter 没有给出预期的结果【英文标题】:NSDateFormatter not giving expected results 【发布时间】:2014-06-26 09:36:24 【问题描述】:NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd MMM YYYY"];
NSLog(@"formatted date %@",[formatter dateFromString:@"14 Oct 2013"]);
我正在尝试格式化 2013 年 10 月 14 日的日期,以从中获取 NSDate 对象。但由于某种原因,它没有按预期格式化。 这是我在控制台上登录后得到的日期对象,
formatted date 2012-12-22 18:30:00 +0000
我在这里做错什么了吗?
【问题讨论】:
似乎您需要在调用 dateFromString 之前将日期格式化程序样式设置为“中”,使用 [formatter setDateStyle:NSDateFormatterMediumStyle];正如这个问题的回答:***.com/questions/10518659/… 【参考方案1】:您应该使用小写字母 yyyy,因为大写字母表示基于一周的日历年,您应该指定时区:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd MMM yyyy"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[formatter setTimeZone:gmt];
NSLog(@"formatted date %@",[formatter dateFromString:@"14 Oct 2013"]);
【讨论】:
28 秒前,我正要按下 post answer 明白了!非常感谢 :) 为我节省了很多时间以上是关于NSDateFormatter 没有给出预期的结果的主要内容,如果未能解决你的问题,请参考以下文章
使用 sysdate 时的 Oracle SQL,为啥它没有给出预期的结果