【问题标题】:NSString to Date ConversionNSString 到日期转换
【发布时间】:2025-12-13 11:45:01
【问题描述】:

2016-08-12 15:54:56+05:30 将字符串值更改为具有相同格式和值的 NSDate 格式

Date = [DicArry valueForKey:@"start"]

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

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZ"];
NSDate *date = [dateFormatter dateFromString:Date ];

我在上面尝试并在日期中得到结果为零

【问题讨论】:

  • 您的代码似乎没有问题,我认为您没有从该字典中获取正确的字符串,请尝试打印其值。
  • 如何将日期格式化程序的区域设置为en_US
  • 您的系统是否设置为使用 am/pm 而不是 24 小时制?

标签: ios objective-c iphone nsdate nsdateformatter


【解决方案1】:

试试

NSString *Date = @"2016-08-12 15:54:56+05:30";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZ"];
NSDate *date = [dateFormatter dateFromString:Date ];
NSLog(@"%@", date);

你会得到正确的价值。

那么,检查一下,你是否从数组中得到了正确的字符串:

Date = [DicArry valueForKey:@"start"];
NSLog(@"%@", Date);

附:不要将变量名设置为首字母大写。

【讨论】:

  • 我要对变量名说同样的话。