gpt4 book ai didi

ios - NSDateFormatter 问题 - 获取错误的日期

转载 作者:行者123 更新时间:2023-11-28 23:55:22 24 4
gpt4 key购买 nike

在 iPhone 设备中,从我们的生产应用程序中为客户设备获取错误的日期时间格式。

我们使用日期时间格式为 yyyy-MM-dd HH:mm:ss 并将空的替换为 T并排除结果为 2018-07-13T15:07:36,但获取日期时间为 2018-07-13T3:07:36TPM

重现步骤:获取日期时间字符串的方法

+ (NSString *)getCurrentLocalDateTime
{
NSDate *localDate = [NSDate date];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *dateString = [dateFormatter stringFromDate:localDate];
dateString = [dateString stringByReplacingOccurrencesOfString:@" " withString:@"T"];
NSLog(@"CURR: %@", dateString);

return dateString; // yyyy-MM-ddTHH:mm:ss
}

预期结果:输出数据必须是 - 2018-07-13T15:07:36

实际结果:实际数据 - 2018-07-13T3:07:36TPM

问题发生在 iOS 版本 - 11.3.1 和 11.1.2

最佳答案

只需将用单引号引起来的 T 插入到日期格式中,即可得到文字“T”

@"yyyy-MM-dd'T'HH:mm:ss"

根据 Technical Q&A QA1480对于固定格式的日期,将日期格式化程序的 locale 设置为固定值 en_US_POSIX:

+(NSString *)getCurrentLocalDateTime
{
NSDate *localDate = [NSDate date];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:localDate];
NSLog(@"CURR: %@", dateString);

return dateString; // yyyy-MM-ddTHH:mm:ss
}

关于ios - NSDateFormatter 问题 - 获取错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51355325/

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