簡體   English   中英

像“ 2016-06-06”這樣的字符串到Swift 3中的Date對象

[英]string like “2016-06-06” to Date object in Swift 3

我是Swift 3的新手,我發現的方式是

extension Date
{
    init(dateString:String) {
        let dateStringFormatter = DateFormatter()
        dateStringFormatter.dateFormat = "yyyy-MM-dd"
        dateStringFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
        let d = dateStringFormatter.date(from: dateString)!
        self(timeInterval:0, since:d)
    }
}`

在self(timeInterval:0,因為:d)

引發錯誤無法調用非功能類型“日期”的值

我也沒有看到這個錯誤。 有人請幫我解釋一下

更改為: self.init(timeInterval:0, since:d)

結果dateStringFormatter.date(from: dateString)! Date ,在這種情況下,無需為strut調用另一個初始化程序。

extension Date
{
    init(dateString:String) {
        let dateStringFormatter = DateFormatter()
        dateStringFormatter.dateFormat = "yyyy-MM-dd"
        dateStringFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
        self = dateStringFormatter.date(from: dateString)!
    }
}
print(Date(dateString: "2016-09-27")) //->2016-09-26 15:00:00 +0000

我不確定您打算使用用戶的默認TimeZone。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM