Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS NSDateFormatter从字符串返回旧日期_Ios_Nsdateformatter - Fatal编程技术网

iOS NSDateFormatter从字符串返回旧日期

iOS NSDateFormatter从字符串返回旧日期,ios,nsdateformatter,Ios,Nsdateformatter,NSDateFormatterdateFromString已获取较旧的日期 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate *date = [dateformatter dateFromString:@"2015-05-18"]; 上述函数返回日期为2015-05-17 11:39:18+0000,而不是 20

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-05-18

这是显示当前日期的有效代码…可能可以解决您的问题..您应该使用此代码

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

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

实际上,您正在打印NSDate,如果您正在打印日期,则编译器会使用当前时区将
日期
转换为
字符串
。如果您希望在
NSString
表单中实际转换的
date
,请再添加一行,将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

NSDate*date=[dateformatter dateFromString:@“2015-05-17 11:39:18+0000”]?[格式化程序设置时区:[NSTimeZone timeZoneForSecondsFromGMT:0]];我只想使用系统/默认/本地时区获取当前日期。我不想用GMT或UCT时区静态地限制用户。在这里,您可以在日志中打印日期,以便记录输出。它需要NSString,所以编译器会自动将您的日期转换为NSString。这就是您看到较旧日期的原因。如果您想更准确地了解它的内容,那么执行此操作的方法是
[NSDate description]
。@Dhvani Puar,如果您没有得到它,请告诉我。我不想要字符串形式的输出,而是日期形式的输出。如果您从代码中打印日期,它将给您一天的时间。@DhvaniPuar,实际上我想说的是,要查看正确的日期,只需在任何编译器显示正确日期的同时,将鼠标指针移到日期变量上。您正在打印该日期,因此显示的是较旧的日期