如何将字符串(2014-07-17T09:00:00-04:00)转换为以下格式? yyyy-MM-dd HH:mm:ss

时间:2014-07-18 13:45:15

标签: ios nsdateformatter

我有一个要转换为日期的字符串。

响应字符串是

2014-07-17T09:00:00-04:00

其中:

yyyy-MM-ddTHH:mm:ss-(04:00 is the offset)

如何将"2014-07-17T09:00:00-04:00"字符串转换为以下格式?

yyyy-MM-dd HH:mm:ss

1 个答案:

答案 0 :(得分:2)

如果这是 Objective-C 问题,我会这样做:

NSString *_stringDate = @"2014-07-17T09:00:00-04:00";
NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
[_dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *_date = [_dateFormatter dateFromString:_stringDate];
[_dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *_stringWithRequestedDateFormat = [_dateFormatter stringFromDate:_date];
NSLog(@"%@", _stringWithRequestedDateFormat);

如果这是 Swift 问题,我会这样做:

let stringDate: String = "2014-07-17T09:00:00-04:00"
var dateFormatter: NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date: NSDate = dateFormatter.dateFromString(stringDate)
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let stringWithRequestedDateFormat: String = dateFormatter.stringFromDate(date)
println(stringWithRequestedDateFormat)

控制台在两种情况下都会显示:

2014-07-17 14:00:00