将日期字符串转换为正确格式

时间:2017-06-29 10:00:15

标签: ios dateformatter

我从服务器获得响应,并且我需要将日期字符串转换为日期:

  

Thu Jun 29 07:15:25 +0000 2017

我正在尝试将字符串转换为人类可读的格式。任何人都可以建议如何将此字符串转换为日期?

2 个答案:

答案 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的值,输出将以指定的格式返回。