如何在 swift 中从 "2015-06-26T00:10:00+01:00" 获取 yyyy-mm-dd hh:mm:ss 格式



我遇到了一个问题,我必须将日期格式为2015-06-26T00:10+01:00转换为yyyy-mm-dd hh:mm:ss请告诉我怎么做

let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
let startTimeString = "2015-06-26T00:10:00+01:00"
let  startTime = formatter.dateFromString(startTimeString)
print("start time : (startTime)")

输出是开始时间:nil

let startTimeString = "2015-06-26T00:10:00+01:00"
// First convert the original formatted date/time to a string:
let deFormatter = NSDateFormatter()
deFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let startTime = deFormatter.dateFromString(startTimeString)
print(startTime!) // 2015-06-25 23:10:00 +0000
// Note that `println` use the `description` method which defaults to UTC.
// Then convert the date/time to the desired formatted string:
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let timeString = formatter.stringFromDate(startTime!)
print(timeString) // 2015-06-25 19:10:00
// Note that `NSDateFormatter` defaults to the local time zone.

请参阅:ICU格式化日期和时间)

你也试过这个吗?

var formatter: NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd-HH-mm-ss"
let dateTimePrefix: String = formatter.stringFromDate(NSDate())

对于Swift 5

let formatter: DateFormatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateTime: String = formatter.string(from: Date())

请尝试以下操作:

let dateString = "2015-06-26T00:10:00+01:00"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssxxxxx"
if let dateFromString = formatter.date(from: dateString) {
    formatter.dateFormat = "yyyy-MM-dd HH:mm" //which format is needed
    let stringFromDate = formatter.string(from: dateFromString)
    print(stringFromDate)
}

相关内容

最新更新