2017-06-29 81 views
-4

我得到來自服務器的響應,有一個日期字符串,我需要轉換成一個日期:轉換日期字符串轉換成合適的格式

週四6月29日7時15分25秒+0000 2017年

我想將字符串轉換爲人類可讀的格式。任何人都可以建議如何將此字符串轉換爲日期?

+1

您可以使用日期格式化程序來格式化日期和時間。 –

+0

您需要指定所需的輸出格式。 –

+0

@SushilSharma你可以請建議如何實現這一點。我無法爲'Thu Jun 29'輸入日期格式 –

回答

3

你需要使用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

1

這是如何在「週四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值和輸出將在您指定的格式返回。