IOS - 字符串的日期格式

时间:2014-05-15 12:49:53

标签: ios objective-c

我想格式化日期以显示在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理解的任何内容 - 有没有其他方式来格式化日期?

3 个答案:

答案 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;

注意日期格式化程序的创建成本非常高。