对于PDT,我想要“-0700”。
我在过去得到一个data,以确定多久以前发生的事情。
NSDate *then = [NSDate dateWithString:@"1976-04-01 12:34:56 -0700"]; // Note the hard-coded time zone at the end
我将在其他地方构建日期字符串,但我不知道如何访问本地时区。
我阅读了Cocoa的Apple日期和时间编程主题,以及NSTimeZone和NSDate类参考,但是我把它们放在一起太难了。我可以使用几行代码来展示它是如何使用的吗?
发布于 2018-07-27 15:09:30
时区偏移取决于世界上许多地方的日期-这些部分使用夏令时间。
唯一正确的方法是从日期和时区一起生成整个字符串。为此请使用NSDateForMatter。
发布于 2018-07-27 15:22:05
使用NSDateFormatter
若要从字符串构建NSDate,请执行以下操作:
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *formatterDate;
formatterDate = [inputFormatter dateFromString:@"1976-04-01 12:34:56 -0700"];
NSString *dateString = [inputFormatter stringFromDate:formatterDate];
NSLog(@"date:%@", dateString);
通过这种方式,可以从字符串获取本地时间,例如字符串指定的日期:
“1976-04-01 12:34:56-0700”
在时区-0700
,(我在格林尼治时间+1000)所以我得到:
2009年-11-17 22:13:46.480厘米线10593:903日期:1976-04-02 05:34:56+1000
https://stackoverflow.com/questions/-100000443
复制相似问题