objective-c – NSDate休息5个小时
我运行以下代码:
NSDate * now = [NSDate date]; NSLog(@"now: %@",now); 得到: 2011-09-16 16:14:16.434 iSavemore [1229:7907]现在:2011-09-16 21:14:16 0000 你可以看到我在16:14:16(下午4:14)运行这个,但NSDate正在返回21:16:16(晚上9:14!).这是Xcode4问题还是NSDate问题? 解决方法
NSDate默认为通用时区(也称为GMT).
我猜你在东海岸的某个地方,比UTC晚了5个小时. 尝试将此添加到您的日期格式化程序… NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setLocale:[NSLocale currentLocale]]; ……你应该看看你当地的时间. 如果要使用指定的区域设置而不是“currentLocale”,请为相关区域设置创建NSLocale. NSLocale *usLoc = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [dateFormatter setLocale:usLoc]; ……实际上那是美国(很可能不是中环). 可以在这里找到更具体的时区帮助…… http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html 但是,如果您想显示到期时间,您是否仍然希望它在用户的currentLocale中? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |