gpt4 book ai didi

iphone - 计算不同时区对应的日期和时间

转载 作者:行者123 更新时间:2023-11-28 20:19:13 25 4
gpt4 key购买 nike

我有一个 ipad 应用程序,它在 y 轴上绘制时间图。现在我的问题是,用户可以在世界任何地方访问同一张图。但随后应调整图表上的时间,使其与用户的当前时区相对应。因此图表上的时间应该补偿时区之间的任何时间差异。如果我正在传递发送图形的设备的时区,谁能告诉我如何从当前设备获取时区并计算偏移时间。

这是我的日期格式化函数。我打算连同日期一起传递时区。

+(NSDate *)DateUKFormatFromString:(NSString *)date
{
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init] ;
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
[dateFormatter setLocale:locale];
[dateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss"];
NSDate* returnDate = [dateFormatter dateFromString:date];
return returnDate;
}

提前致谢。

最佳答案

有一个 dateFormatter 实例方法 setTimeZone: 像这样使用它

[NSTimeZone resetSystemTimeZone];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];

有关这两种方法的信息,请阅读文档。希望能帮助到你。干杯

编辑:

如果来自服务器的日期是特定时区(服务器的时区)。然后你需要获取时区

NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:"Server timezone name"];
NSInteger serverDifference = [timeZone secondsFromGMT];

[NSTimeZone resetSystemTimeZone];
NSTimeZone *systemTimeZone = [NSTimeZone systemTimeZone];
NSInteger systemDifference = [systemTimeZone secondsFromGMT];

NSInteger difference = systemDifference - serverDifference;
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:difference]];

如果您没有从服务器获得 0 GMT 时差,请尝试此操作。

关于iphone - 计算不同时区对应的日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16589171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com