gpt4 book ai didi

ios - 将 UTC 时间转换为本地时间

转载 作者:行者123 更新时间:2023-12-02 17:17:36 29 4
gpt4 key购买 nike

我正在从服务器获取数据,其中部分数据是时间。时间以 UTC 格式存储在我的数据库中,因此我返回的也是 UTC 格式。例如:2014-05-22 05:12:40

此外,我正在使用 DateTools显示设备上的时差,例如X小时前X分钟前等...

问题在于,当将来自服务器的 UTC 时间与本地时间进行比较时,存在巨大差异。由于时差,应该显示 X 秒前 的内容会显示为 X 小时前

问题

如何将来自服务器的日期转换为设备上设置的本地时区?

这就是我现在正在做的事情:

@date_formatter = NSDateFormatter.alloc.init
@date_formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
@date_from_server = "2014-05-22 05:12:40"
@date = @date_formatter.dateFromString(@date_from_server)
@time.text = @date.shortTimeAgoSinceNow

最佳答案

我不知道它在 ruby​​ 运动中是如何完成的,但在 Objective-C 中,它是按如下方式完成的:

1.) 创建 NSDateFormatter 类的实例

2.) 设置其具体的日期格式字符串,并设置其具体的时区

3.) 通过 dateformatter 实例从传入字符串中获取日期

4.) 将日期格式化程序实例的时区更改为本地时区

5.) 将之前获取的日期转换为新时区。

在 Objective-C 中

NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:incomingDateFormat];
[df setTimeZone:incomingTimeZone]; // Can be set to @"UTC"

NSDate *date = [df dateFromString:incomingDateString];

[df setDateFormat:newDateFormat];
[df setTimeZone:newTimeZone]; //// Can be set to [NSTimeZone localTimeZone]

NSString *newDateStr = [df stringFromDate:date];

我相信 Rubymotion 也可以做到同样的事情。

关于ios - 将 UTC 时间转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23798613/

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