【发布时间】:2012-06-10 04:24:42
【问题描述】:
我正在尝试使用特定时区(不一定与系统时区相同)获取 Unix 时间戳
我试过这个:
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithName:@"Australia/Melbourne"];
[dateFormatter setTimeZone:gmt];
NSString *timeStamp = [dateFormatter stringFromDate:[NSDate date]];
NSDate *curdate = [dateFormatter dateFromString:timeStamp];
int unix_timestamp = [curdate timeIntervalSince1970];
这显然应该给出澳大利亚的 Unix 时间戳(最多秒)。但是,当我登录curdate 时,它仍然是格林威治标准时间,timeStamp 是澳大利亚/墨尔本的时间。
这可能是什么问题?
【问题讨论】:
标签: ios cocoa-touch time timezone nsdate