转换日期字符串转换成合适的格式
问题描述:
我得到来自服务器的响应,有一个日期字符串,我需要转换成一个日期:转换日期字符串转换成合适的格式
周四6月29日7时15分25秒+0000 2017年
我想将字符串转换为人类可读的格式。任何人都可以建议如何将此字符串转换为日期?
答
你需要使用DateFormatter
的日期字符串解析为Date
对象,然后用另一DateFormatter
与您要使用的输出格式创建从Date
的字符串。
let created_at = "Thu Jun 29 07:15:25 +0000 2017"
let df = DateFormatter()
df.dateFormat = "E MMM dd HH:mm:ss Z yyyy"
guard let date = df.date(from: created_at) else {return}
let outputFormatter = DateFormatter()
outputFormatter.dateFormat = "EEE, MMM d"
let outputDate = outputFormatter.string(from: date)
如果你想知道的格式是什么样的日期,使用NSDateFormatter.com,其中有一个互动的界面,你可以玩不同的日期格式,并有最常见的格式的例子也是如此。
+1
请将输出格式更改为“EEE,MMM d”。将达到所需的答案 – sschunara
答
这是如何在“周四6月29日”格式化
-(NSString *)formatCreatedAt:(NSString *)createdAt
{
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"];
NSDate *date = [dateFormat dateFromString:createdAt];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE MMM dd"];
NSString *stringFromDate = [formatter stringFromDate:date];
return stringFromDate;
}
在此方法中传递的created_at
值和输出将在您指定的格式返回。
您可以使用日期格式化程序来格式化日期和时间。 –
您需要指定所需的输出格式。 –
@SushilSharma你可以请建议如何实现这一点。我无法为'Thu Jun 29'输入日期格式 –