字符串中的Swift DateFormatter日期在以前使用NSDateFormatter的地方失败

问题描述 投票:-3回答:1

我有一个日期字符串:“ 2017-09-27T13:03:47.86 + 00:00”和dateFormat:“ yyyy-MM-dd'T'HH:mm:ss.SSSSSSSZZZZZZZ”用于NSDateFormatter,但使用DateFormatter.date(string:)

返回nil

任何想法都可以与迅速的DateFormatter一起使用?

swift nsdateformatter dateformatter
1个回答
-1
投票

您需要转义'T'并使用适当的时区符号。请注意,这取决于您的日期字符串是否表示带Z为“ XXXXX”或不带+00:00为“ xxxxx”的UTC(格林尼治标准时间为零秒)时区:

func getStringFormat(str:String) -> String {
        let dateString = "2015-08-14T20:02:25-04:00"
        let formatter = DateFormatter()
         formatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm:ss a 'UTC'Z" //If you dont want static "UTC" you can go for ZZZZ instead of 'UTC'Z.
         formatter.timeZone = TimeZone(abbreviation: "IST")
     if let date = formatter.date(from: dateString) {
        formatter.dateFormat = "yyyy-MM-dd HH:mm"
        let string = formatter.string(from: date)
        print(string)

        return string
    }
 }

请参考此很棒的文档以语法格式设置日期和时间,这里是 link

© www.soinside.com 2019 - 2024. All rights reserved.