gpt4 book ai didi

iOS - 将时间和日期转换为用户时区

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:11 25 4
gpt4 key购买 nike

我在网络服务器上发送一些请求,它会像这样回复我的时间和日期:

"at 18:58 of 05/08/2012"

我可以弄清楚如何在 2 个 NSStrings(18:58, 05/08/2012) 中获取时间和日期。请注意,服务器的时区是 +00:00。我想要完成的是根据用户的位置呈现这个时间。因此,例如,如果服务器的回复是 2012 年 5 月 8 日 23:30,而用户的时区是 +2:00,我想在 2012 年 6 月 8 日 1:30 向他展示。有什么想法吗?

最佳答案

您应该按照以下方式进行操作:

1) 首先,创建一个 NSDateFormatter 以获取从服务器发送的 NSDate:

NSDateFormatter *serverFormatter = [[NSDateFormatter alloc] init];
[serverFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
[serverFormatter setDateFormat:@"'at 'HH:mm' of 'dd/MM/yyyy"];

来自 Apple docs : 注意 Unicode 格式字符串格式,您应该将格式字符串中的文字文本括在撇号 ('') 之间。

2) 将字符串(假设它被定义为 theString)转换为 NSDate:

NSDate *theDate = [serverFormatter dateFromString:theString];

3) 创建一个 NSDateFormattertheDate 转换为用户:

NSDateFormatter *userFormatter = [[NSDateFormatter alloc] init];
[userFormatter setDateFormat:@"HH:mm dd/MM/yyyy"];
[userFormatter setTimeZone:[NSTimeZone localTimeZone]];

3) 从 userFormatter 获取字符串:

NSString *dateConverted = [userFormatter stringFromDate:theDate];

关于iOS - 将时间和日期转换为用户时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298010/

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