Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标-C NSDate-如何从不同时区获取当前日期_Objective C - Fatal编程技术网

Objective c 目标-C NSDate-如何从不同时区获取当前日期

Objective c 目标-C NSDate-如何从不同时区获取当前日期,objective-c,Objective C,我浏览苹果文档已经有一段时间了,但还没有找到从不同时区获取当前日期的方法。基本上,我需要以美国中央标准时间(CST)获取当前日期。通过设置时区,我很确定它是NSDate和NSDateFormatter的组合。我相信这是一项简单的任务,但我还没有找到最好的方法来完成 这里缺少什么吗?如果只想显示给定区域的当前时间,则需要设置NSDateFormatter的时区属性: [formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"

我浏览苹果文档已经有一段时间了,但还没有找到从不同时区获取当前日期的方法。基本上,我需要以美国中央标准时间(CST)获取当前日期。通过设置时区,我很确定它是NSDate和NSDateFormatter的组合。我相信这是一项简单的任务,但我还没有找到最好的方法来完成


这里缺少什么吗?

如果只想显示给定区域的当前时间,则需要设置NSDateFormatter的时区属性:

[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
如果希望NSDate对象包含给定区域的时间,则需要在检索该日期之前设置默认时区:

NSDate* date = [NSDate date];
NSLog(@"%@", [date description]);

[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
NSDate* nDate = [NSDate date];
NSLog(@"%@", [nDate description]);

//output
2010-08-05 12:32:38 +0300
2010-08-05 04:32:38 -0500

你能详细说明一下吗?这可能值得一个单独的问题-这个问题和答案可能已经过时了,这是我的输出。“:”是一个换行符。2019-03-17 15:36:20.317565-0400 xxxxx[5208:11653585]2019-03-17 19:36:20+0000::2019-03-17 15:36:20.317798-0400 xxxxx[5208:11653585]2019-03-17 19:36:20+0000。请注意,输出的日期是相同的。