我正在使用下面的代码,但它提供了一天的提前日期。NSDateFormatter提前一天提供
例:使输入字符串为 “2013-08-31T23:59:59-0400” 和出放日期即将来临为 “2013年9月1日3点59分59秒0000” 。
NSDateFormatter *formatter = [self railsDateFormatter];
NSDate *date = [formatter dateFromString:dateString];
+(NSDateFormatter*)railsDateFormatter
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZ"];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setLocale:locale];
return formatter;
}
谢谢。
你似乎没有提前1天,更像是4小时前。输出时日期格式如何? –
线索是字符串末尾的时区偏移量,首先是'-0400'(4小时后),第二个是'+ 0000'(0小时后)。你已经将本地设置为'en_US_POSIX',这改变了你的时区。根本没有问题 –
如果您不知道YYYY和yyyy之间的区别,则应该使用yyyy。但那只会在1月1日左右。 –