ios - NSDateFormatter 提前一天

标签 ios iphone objective-c

这个问题在这里已经有了答案:





NSDate Format outputting wrong date

(5 个回答)


8年前关闭。




我正在使用下面的代码,但它给了我提前一天 date 。

示例 :将输入字符串传递为“2013-08-31T23:59:59-0400”,输出日期为“2013-09-01 03: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;
}

谢谢你 。

最佳答案

嗨,这些是由于时区差异而发生的,请正确设置时区

-(NSDate *)convertDateFromString:(NSString *)strDate DateFormat:(NSString *)strDateFromat
{
    strDateFromat=@"yyyy-MM-dd'T'HH:mm:ss";

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    //chirag::In date day is displayed one less so it can print exact date
    formatter.timeZone = [NSTimeZone timeZoneWithAbbreviation: @"GMT"];
    [formatter setDateFormat:strDateFromat];

    NSDate *currentYearDate = [formatter dateFromString:strDate];

    return currentYearDate;
}

关于ios - NSDateFormatter 提前一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21455870/

相关文章:

ios - 如何在先前转换的 UIView 上正确地动画转换

objective-c - 以编程方式创建 NSTextView?

javascript - jQuery 最接近 ('tr' ) 在 iOS 中不起作用

ios - CoreGraphics 和上下文中的旋转和渐变

ios - 我的 xcode 工具中没有显示 iAdBannerView

iphone - 当方向改变时, View Controller 会为我做什么?

java - 如何以编程方式获取有关 APNS 推送证书的信息?

iphone - 就像sqlite中的查询一样

ios - 无法在 xCode 6 或更高版本中打开 Storyboard或 xib 文件

iphone - 如何获取 Facebook 页面的更大头像