我正在开发具有不同国家/地区用户的应用程序。例如,印度和美国。
我希望NSDate能够在任何时区都有时间。
例如,2016-03-01将在两个时区2016-03-01 00:00:00 +0000保持相同。
我正在使用
NSDate* dateOnly = [[NSCalendar currentCalendar] dateBySettingHour:0 minute:0 second:0 ofDate:[NSDate date] options:NSCalendarMatchLast];
我仍然得到这个: 2016-04-21 05:00:00 +0000
我需要2016-04-21 00:00:00 +0000
请建议妥善解决。提前谢谢。
答案 0 :(得分:2)
这个应该有效
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
NSLog(@"%@", [dateDormatter stringFromDate:dateOnly]);
答案 1 :(得分:1)
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm";
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSString *timeStamp = [dateFormatter stringFromDate:[NSDate date]];
尝试以上代码行。希望它会对你有所帮助。
答案 2 :(得分:0)
你能试试吗?
NSTimeZone * timeZone = [NSTimeZone timeZoneWithName:@“UTC”];
[dateFormatter setTimeZone:timeZone];