我从服务器获得响应,并且我需要将日期字符串转换为日期:
Thu Jun 29 07:15:25 +0000 2017
我正在尝试将字符串转换为人类可读的格式。任何人都可以建议如何将此字符串转换为日期?
答案 0 :(得分:3)
You need to parse the date string into a Date
object using a DateFormatter
, then create a string from that Date
using another DateFormatter
with the output format you want to use.
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)
If you want to know what date formats look like, use NSDateFormatter.com的元素,该元素具有交互式界面,您可以在其中使用不同的日期格式,并提供最常见格式的示例。
答案 1 :(得分:1)
您可以在" 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
的值,输出将以指定的格式返回。