我正在尝试将 NSDate 的 NSTimeInterval 设置为时间为零,因此是一天的开始,但总是给我我的时区是 GMT+2 而不是 GMT,我正在这样做:
这是在 NSDate 中设置一天开始的类别:
#define DATE_COMPONENTS (NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit)
#define CURRENT_CALENDAR [NSCalendar currentCalendar]
- (NSDate *) dateAtStartOfDay
{
NSDateComponents *components = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:self];
components.hour = 0;
components.minute = 0;
components.second = 0;
return [CURRENT_CALENDAR dateFromComponents:components];
}
然后我这样做:
NSTimeInterval now = [[[NSDate date] dateAtStartOfDay] timeIntervalSince1970];
并给我这个 NSTimeInterval:
1375567200
如果我检查:
格林威治标准时间是这样的:
GMT: Sat, 03 Aug 2013 22:00:00 GMT
Mine tiem zone: 04 agosto 2013 00:00:00 CEST GMT+2
我怎样才能始终拥有 GMT 时间间隔?我正在寻找一个在纽约、罗马、里约热内卢工作的解决方案,例如,必须给我 nstimeinterval 到 gmt 用户在哪里,有人可以帮助我吗?