【发布时间】:2016-04-15 18:57:18
【问题描述】:
我正在做一个祈祷警报应用程序,我想将我的当前时间与获取的时间进行比较,但是当我得到我的当前时间时,它总是有一些时差,如图所示;
// getting today's date string
NSDate *today = [NSDate date];
NSDateFormatter *dateFormatterToday = [[NSDateFormatter alloc] init];
dateFormatterToday.timeZone = [NSTimeZone localTimeZone];
[dateFormatterToday setDateFormat:@"yyyy-MM-dd HH:mm a"];
NSString *currentDateTimeString = [dateFormatterToday stringFromDate:today];
// converting today's date string to NSDATE
NSDateFormatter *dateFormatterTodayFinal = [[NSDateFormatter alloc] init];
[dateFormatterTodayFinal setDateFormat:@"yyyy-MM-dd HH:mm a"];
dateFormatterTodayFinal.timeZone = [NSTimeZone localTimeZone];
NSDate *dateTodayFinal = [dateFormatterTodayFinal dateFromString:currentDateTimeString];
这里是currentDateTimeString,格式为string,显示我当前的时间为:
2016-01-11 17:52 PM(这是正确的)
但dateTodayFinal,Date 格式显示:
2016-01-11 07:22:00 +0000
我已经测试了不同的时区,但问题仍然存在,请帮助某人。谢谢。
【问题讨论】:
-
将日期格式化为字符串,然后尝试将字符串转回日期的原因是什么?
-
目前还不清楚您要达到的目标。
dateFormatterToday和dateFormatterTodayFinal的命名表明它不仅仅是来回转换。
标签: ios nsdate nsdateformatter nstimezone