NSDateFormatter 以一天为单位返回一个日期
Posted
技术标签:
【中文标题】NSDateFormatter 以一天为单位返回一个日期【英文标题】:NSDateFormatter returns a date off by a day 【发布时间】:2010-10-06 21:41:28 【问题描述】:在我的 iPhone 应用程序中,我试图从网络服务接收的日期字符串中获取 EEE MMM dd。
对于时间
这里是代码 sn-p:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"EEE MMM dd"];
NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat 语言环境:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
NSString *formattedDateString = [dateFormat stringFromDate:dateToFormat]; [日期格式发布];
可能是什么问题?
【问题讨论】:
您住在哪里,网络服务使用哪个时区? 【参考方案1】:可能与时区有关。您可能需要为您的 NSDateFormatter 对象的 timeZone 属性设置一个适当的值。
【讨论】:
嗯,所以我将时区属性设置为localTimeZone。但结果还是一样。它在时间超过早上 7 点时起作用。但在此之前的任何事情都会导致日期倒退一天。 这是修复:[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];【参考方案2】:我有同样的问题,但只是在更新到 ios4 之后。我的格式化程序是这样的:
[aDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];
我的日期是这样的:
2009-10-27 7:30:12 -0700
我只是通过移动日期选择器模式集在将最大/最小/选定日期应用于日期选择器来解决了这个问题。在我的情况下:
aDatePicker.datePickerMode = UIDatePickerModeDate;
【讨论】:
以上是关于NSDateFormatter 以一天为单位返回一个日期的主要内容,如果未能解决你的问题,请参考以下文章
SQL查询,用于在一周中的每一天为项目排序的EACH类别中查找UNITS
FLINK 基于1.15.2的Java开发-使用AggregateFunction解决以天为单位诸如PVUV等统计的实时计算