gpt4 book ai didi

iphone - iOS : Date conversion results in wrong date

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

我以前用几种格式做过几次。无法理解在这里俯瞰的是什么!日期转换不会那么难! :) 但似乎太麻烦了。我得到这样的字符串:2013 年 8 月 9 日 06:44:01:950AM

我正在尝试使用此代码将其转换为日期:

[Date_Converter getDateFromString:date withFormat:@"MMM dd YYYY HH:mm:ss:SSSa"]

并且在DateConverter.m

+(NSDate *) getDateFromString:(NSString *) strDate
withFormat:(NSString *) format {

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:format];
//[formatter setTimeZone:[NSTimeZone localTimeZone]];
NSDate *dateFromStr = [formatter dateFromString:strDate];
return dateFromStr;
}

从上面的方法得到的NSDate返回值是这样的!2013-01-04 19:14:01 +0000

为输入日期2013 年 8 月 9 日 06:44:01:950AM

这怎么可能?对于各种其他格式的日期,我已经多次使用相同的方法。请帮忙。我在这里忽略了什么?

更新将格式更改为

[Date_Converter getDateFromString : date
withFormat : @"MMM dd yyyy hh:mm:ss:SSSa"];

但它仍然返回 null。请帮忙。

最终的帮助添加 [格式化程序 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];按照下面@MartinR 的建议进行最新转换!

最佳答案

您的日期格式有两个错误:

  • 年份的正确格式是yyyy,而不是YYYY
  • 12 小时制 AM/PM 时间的格式是 hh,而不是 HH

更新:此外,为避免对当前语言环境的依赖,添加

[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];

如果您有使用英文月份名称/缩写的固定输入格式。

关于iphone - iOS : Date conversion results in wrong date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18148236/

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