gpt4 book ai didi

ios - 无法将 GMT 字符串日期转换为 Nsdate

转载 作者:行者123 更新时间:2023-11-29 03:24:20 25 4
gpt4 key购买 nike

我有一个像下面例子的字符串

2013-12-28T8:15:00+03:00

但我想转换为具有相同格式的 NSDate 这是我的代码

NSDateFormatter *dateFormatterInBoundSegment = [[NSDateFormatter alloc] init];

[dateFormatterInBoundSegment setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];

[dateFormatterInBoundSegment setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

NSDate *dateInboundSegment = [dateFormatterInBoundSegment dateFromString:@"2013-12-28T8:15:00+03:00"];

NSLog(@"Formatted date %@",dateInboundSegment);

结果打印成这样

Formatted date 2013-12-28 05:15:00 +0000

我想像字符串一样转换为 GMT +3 的 nsdate,结果应该是这样的

2013-12-28T8:15:00+03:00

最佳答案

NSDate 不存储时区,NSDate 只是一个代表日期的数字。当您在屏幕上打印它时,它的格式就是这样,但是您的日期和那个日期是相同的。

这个:

2013-12-28 05:15:00 +0000

还有这个:

2013-12-28T8:15:00+03:00

表示相同的日期,只是以不同的方式打印。

当您执行此操作时: NSLog(@"Formatted date %@",dateInboundSegment); 您没有指定如何将日期格式化为字符串,因此它使用默认模式。

如果要打印具有正确时区的 NSDate,则需要使用格式化程序创建一个字符串并设置时区。

关于ios - 无法将 GMT 字符串日期转换为 Nsdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20656794/

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