【发布时间】:2014-02-04 19:20:21
【问题描述】:
我正在尝试将我的设备当前时间转换为时区 (America/New_york)
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/New_York"]];
NSDate *start = [NSDate date];
start 现在在IST 中有设备当前时间。如何将其转换为区域 'America'
我打算做以下事情
start = [dateFormatter dateFromString:<start date String>];
一天根据时间段分为 3 个部分。
Say 08:00 - 15:00 AS PHASE1
15:00 - 17:00 AS PHASE2
17:00 - 20:00 AS PHASE3
20:00 - 08:00 AS TRANSITION PHASE and can be ignored.
我只是获取设备的日期并附加时间字符串以识别它处于哪个阶段。
示例:印度时间是 05-FEB-2014 01:25 AM(设备日期)
考虑将15:00 作为第一个截止点。我将“05-FEB-2014”附加到15:00 并将其消化为美国时区。这解决了我06-FEB-2014 02:30 IST(截止日期).. 所以这两天之间的差异大于一天!
我的预期结果可能是设备时间也在美国时区,并与最近的截止时间进行比较。
【问题讨论】:
-
坚持什么?你不知道如何导出“
”? -
@HotLicks,是的..如果我在这种方法上错了,还有其他方法可以转换时间吗?
-
(NSDate(几乎)总是在内部以 UTC 表示——它不包含时区偏移量。)
标签: ios objective-c nsdate