如何将日期字符串从Rails转换为Swift

时间:2015-04-19 17:49:26

标签: ios ruby-on-rails swift date datetime

请耐心等待我,因为我是Swift的新手:我正在编写一个小应用程序,它调用返回一些数据的API(Rails)。我遇到的问题是API提供的日期是这样的:yyyy-MM-dd'T'HH:mm:sssZ我的函数需要yyyy-MM-dd'T'HH:mm:ssZ 请注意额外的第二个

这是我的功能:

public func dateFromString(date: String, format: String) -> NSDate {

    if dateFormatter == nil {
        dateFormatter = NSDateFormatter()
    }

    dateFormatter!.dateFormat = format
    return dateFormatter!.dateFromString(date)!
}

在控制台上,当我尝试运行应用程序时,我得到了这个:

date String "2015-04-13T12:48:23.310Z"

format String "yyyy-MM-dd'T'HH:mm:ssZ"

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:8)

如果您使用SSS作为格式字符串,则可以执行此操作,如下所示。

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

另请参阅:Date Format Patterns

答案 1 :(得分:0)

您可以使用以下功能:

func dateFromate(_ stringTime:String) -> String{
    //"2015-04-13T12:48:23.310Z"
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
    guard let date2 = formatter.date(from: stringTime) else{
        return stringTime
    }
    let date1 = Date()
    return date1.offset(from: date2)
}