gpt4 book ai didi

cocoa - 时区转换形式 stringdate

转载 作者:行者123 更新时间:2023-12-03 17:44:56 25 4
gpt4 key购买 nike

我有一个字符串日期 16-MAY-2010 23:04:44,我需要将其转换为 GMT 时区,即所需的输出是 17-May-2010 12:03:03。

我使用日期格式化程序进行转换,但我得到的结果不是我需要的格式。我正在发送代码,请告诉我我是否做得正确

这是代码:

NSString *timeStamp = [format stringFromDate:[NSDate date]];
NSString *output = [timeConv dateStringFromString:timeStamp];

- (NSString *)dateStringFromString:(NSString *)sourceString
{
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"dd-MMMM-yyyy HH:MM:ss"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSDate *date = [dateFormatter dateFromString:sourceString];

return [dateFormatter stringFromDate:date];
}

我得到的输出与没有转换的旧时间相同。所以请让我知道正确的解决方案。

最佳答案

我不知道任何 cocoa ,但如果我正确理解你的代码,你永远不会告诉解析器你的原始字符串不是 GMT,而是 GMT-1。

基于您自己的代码(同样,在不了解 cocoa 的情况下),我认为您需要这样做:

NSTimeZone *gmtminusone = [NSTimeZone timeZoneForSecondsFromGMT:-3600.0];
[dateFormatter setTimeZone:gmtminusone];
NSDate *date = [dateFormatter dateFromString:sourceString];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
return [dateFormatter stringFromDate:date];

如果它不能立即起作用,也许它会让您知道该怎么做:

  1. 使用设置为 GMT-1 的日期格式化程序解析字符串,以输出日期。
  2. 使用设置为 GMT 的日期格式化程序解析日期,以输出字符串。

关于cocoa - 时区转换形式 stringdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2847105/

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