【发布时间】:2013-09-03 10:51:20
【问题描述】:
我正在尝试将 NSDate 转换为以下格式:20/05/2014 22:30
这是我目前拥有的代码。
[dateFormat setDateFormat:@"YYYY-MM-dd\'T\'HH:mm:ssZZZZZ"];
这可行,但格式不像 20/05/2014 22:30 它以如下格式显示日期:12-03-2013 12:00:00 +00:00:00
然后当我使用时:
[dateFormat setDateFormat:@"MM/dd/yyyy"]; 我得到一个 null 返回值而不是格式化日期。
// timestamp conversion
NSString *str = [timeStamp objectAtIndex:indexPath.row];
// convert to date
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
// [dateFormat setDateFormat:@"YYYY-MM-dd\'T\'HH:mm:ssZZZZZ"];
[dateFormat setDateFormat:@"MM/dd/yyyy"];
NSDate *dte = [dateFormat dateFromString:str];
cell.timeStampLabel.text = [NSString stringWithFormat:@"%@",dte ];
格式化前输出的str原字符串为str 2013-08-23T15:21:19+02:00
感谢您的帮助
【问题讨论】:
-
您当前已将 nsdate 设置为标签,因此它将类似于 12-03-2013 12:00:00 +00:00:00
-
对 str 日期格式一无所知,很难将其转换为日期。给我们一个 str 可能值的例子。
-
很难为这个问题发布一个有用的答案(为了证明,只需看看这里发生的猜测)。您没有告诉我们要将哪个 NSString 转换为 NSDate。
-
首先要做的是阅读NSDateFormatter 的规范。第二件事是查阅date patterns 的规范(有点难找到)。当你这样做时,你会发现你应该使用“yyyy”,而不是“YYYY”。
-
第三件要做的事情是了解日期格式描述(duh!!)日期的预期格式!!!
标签: ios objective-c nsstring nsdate