【发布时间】:2016-01-21 11:19:55
【问题描述】:
下面是我的示例代码。
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate * dateFormatted = [dateFormatter dateFromString:@"2016-01-17"];
NSLog(@"Date : %d",dateFormatted);
输出为 2016-01-16 18:30:00 +0000。如何获取日期格式 2016-01-17 。延迟一天的原因是什么。请帮帮我。
【问题讨论】:
-
你的时区是?
-
时区:印度。上午日期是固定的,但结果记录器打印延迟一天。是什么原因。任何时区使用,但日期是常量字符串值。
-
嗯,印度是 +5:30 左右。所以 Jan, 17, 00:00 对你来说将是 1 月 16 日 18:30 在格林威治。您必须告诉格式化程序在您的时区打印。
-
一个 NSDate 只是一个瞬间,从 1970 年 1 月 1 日开始计算秒数。如果您打印它,它将以 UTC 显示它的值。
-
Baskar,你应该知道的第一件事是印度比格林威治标准时间早 5 1/2 小时,所以印度 17 日午夜 是 18:30格林威治标准时间 16 日。结果绝对正确。
标签: ios objective-c nsdateformatter nstimezone