我想格式化日期以显示在uitableview自定义单元格
中数据从CMS传递到应用程序 - 它以下列格式提供为字符串并存储在日期类型变量中 -
2014-04-15 10:10:45 +0000
我们的应用程序最初将基于英国 - 所以我需要将格式转换为DD / MM / YYYY格式。
我尝试使用以下代码来解析我的日期(dateadded,其类型为date)。
NSDateFormatter *formatter = [NSDateFormatter new];
cellRecP.artDate.text = [formatter stringFromDate:resItem.dateadded];
但这只是返回null - 我猜上面提供的日期格式不是stringfromdate理解的任何内容 - 有没有其他方式来格式化日期?
答案 0 :(得分:1)
试试这个并结帐这个All Formate这真的很好,很有帮助。
NSString *yourString = @"2014-04-15 10:10:45 +0000";
NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setTimeZone:[NSTimeZone systemTimeZone]];//Set Your Timezone
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];//You have to set this formate.
NSDate *dd = [df dateFromString:yourString];//This will convert into date;
//Now you can set your formate.
[df setDateFormat:@"dd/MM/yyyy"];
NSString *str = [df stringFromDate:dd];
答案 1 :(得分:1)
使用'NSDateFormatter'
NSDateFormatter* newFormatter = [[[NSDateFormatter alloc] init] autorelease];
用这种格式来解析字符串
[newFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss zzz"];
NSDate* aDate = [newFormatter dateFromString:dateString];
你应该得到一个有效的'NSDate'对象
答案 2 :(得分:1)
您需要一个NSDateFormatter和一个正确的unicode解析字符串。默认情况下,NSDateFormatter会自动检查设备区域设置是否正确输出。 这是我的一些代码的一个例子:
NSDateFormatter *dateWriter = [[NSDateFormatter alloc] init];
dateWriter.dateFormat = @"yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'ZZZ";
dateWriter.dateStyle = NSDateFormatterMediumStyle;
dateWriter.timeStyle = NSDateFormatterMediumStyle;
注意日期格式化程序的创建成本非常高。