将日期字符串转换为正确的格式
Convert date string into proper format
我正在从服务器收到响应,并且有一个日期字符串需要转换为日期:
Thu Jun 29 07: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,它有一个交互式界面,您可以在其中尝试不同的日期格式,并提供最常见格式的示例。
这就是在 "Thu Jun 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
的值,输出将以您指定的格式返回。
我正在从服务器收到响应,并且有一个日期字符串需要转换为日期:
Thu Jun 29 07: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,它有一个交互式界面,您可以在其中尝试不同的日期格式,并提供最常见格式的示例。
这就是在 "Thu Jun 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
的值,输出将以您指定的格式返回。