【问题标题】:NSDate issue.. Incorrect time? [duplicate]NSDate 问题.. 时间不正确? [复制]
【发布时间】:2025-12-06 11:15:02
【问题描述】:
可能重复:
NSDate not returning correct date
当我尝试像这样显示当前时间时:
NSDate *mydate = [NSDate 日期];
我得到这个结果:
2012-11-24 09:27:13.194 myApp[5284:c07] mydate = 2012-11-24 07:27:13 +0000
虽然模拟器时间和 OS X 时间不同,但时间差了两个小时。我该如何解决?提前谢谢你..
【问题讨论】:
标签:
objective-c
ios
xcode
nsdate
【解决方案1】:
您需要使用 NSDateFormatter 打印出日期。 NSDate 没有附加任何时区信息。确保将时区附加到您的日期格式化程序。
NSDate* now = [NSDate date];
// GET A DATE FORMATTER AND SET THE TIMEZONE
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.timeZone = [NSTimeZone systemTimeZone];
// CHANGE FORMAT TO SUIT YOUR NEEDS
[df setDateStyle: NSDateFormatterFullStyle];
[df setTimeStyle: NSDateFormatterFullStyle];
// GET YOUR FORMATTED DATE STRING
NSString *dateString = [df stringFromDate: now];