gpt4 book ai didi

objective-c - 将日期时间从 NSString 转换为 NSDate

转载 作者:行者123 更新时间:2023-11-29 04:18:09 24 4
gpt4 key购买 nike

时区总是给我带来麻烦。这次我必须将 NSSTring 中的日期时间转换为 NSDate。

我正在做这样的事情。

NSString *myStringDate=@"14-11-2012 4:09:00 PM +0500"

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone systemTimeZone]];
[formatter setDateFormat:@"dd-MM-yyyy h:mm:ss a Z"];

NSDate *aDate = [formatter dateFromString:myStringDate];
NSLog(@"%@",aDate);

但是我的输出是这样的

2012年11月14日11:09:00 +0000

此外,没有设置 AM/PM :-(

我想要的是14-11-2012 4:09:00 PM +0500,即我在字符串中的相同日期时间。

感谢期待。

最佳答案

转换的输出给出的是 GMT 时间

NSString *myStringDate=@"14-11-2012 4:09:00 PM +0500"

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone systemTimeZone]];
[formatter setDateFormat:@"dd-MM-yyyy h:mm:ss a Z"];

NSDate *aDate = [formatter dateFromString:myStringDate];



NSDateFormatter* df_utc = [[[NSDateFormatter alloc] init] autorelease];
[df_utc setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[df_utc setDateFormat:@"yyyy.MM.dd G 'at' HH:mm:ss zzz"];

NSDateFormatter* df_local = [[[NSDateFormatter alloc] init] autorelease];
[df_local setTimeZone:[NSTimeZone timeZoneWithName:@"EST"]];
[df_local setDateFormat:@"yyyy.MM.dd G 'at' HH:mm:ss zzz"];

NSString* ts_utc_string = [df_utc stringFromDate:aDate];
NSString* ts_local_string = [df_local stringFromDate:aDate];

关于objective-c - 将日期时间从 NSString 转换为 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377795/

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