iOS NSDateFormatter从字符串返回旧日期

时间:2015-05-18 11:46:11

标签: ios nsdateformatter

NSDateFormatter dateFromString获取更早的日期。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateformatter dateFromString:@"2015-05-18"];

上述函数返回日期为2015-05-17 11:39:18 +0000而不是 2015年5月18日

2 个答案:

答案 0 :(得分:1)

实际上您正在打印NSDate,如果您正在打印日期,则编译器会自动将您的date转换为string,方法是使用当前时区进行转换。如果你想在date形式中实际转换NSString,那么再添加一行,将NSDate转换为NSString,如下所示。

NSDateFormatter * dFormatter = [[NSDateFormatter alloc] init];
    [dFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *date = [dFormatter dateFromString:@"2015-05-18"];
    NSLog(@"String : %@",[dFormatter stringFromDate:date]);

输出:

2015-05-18

答案 1 :(得分:-1)

这是显示当前日期的工作代码......可能会解决您的问题..您应该为此...

NSDate *Date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];

NSString *dateFormated = [dateFormatter stringFromDate:Date];
NSLog(@"%@", dateFormated);