2017-02-26 90 views
1

我已嘗試將日期如2017-02-11字符串轉換爲日期,但結果讓我回到這樣的事情2017-02-10 16:00:00 +0000。我正在使用下面的代碼。如何將字符串轉換爲Swift 3中沒有時間的日期?

let localDate = dateFormatter.string(from: date) //2017-02-11 

    let dateFormatter2 = DateFormatter() 
    dateFormatter2.dateFormat = "yyyy-MM-dd" 

    let selectedDate = dateFormatter2.date(from: localDate) 
    print("Did Select \(selectedDate)") // 2017-02-10 16:00:00 +0000 
+0

您可以顯示得到給定Date的第一時刻日期沒有顯示時間,但沒有日期沒有時間 –

+0

日期是正確的。 'print'以UTC顯示日期,您的本地時區顯然是UTC + 8 – vadian

回答

3
let dateWithTime = Date() 

let dateFormatter = DateFormatter() 
dateFormatter.dateStyle = .short 

let date = dateFormatter.string(from: date) // 2/10/17 

這將正確地格式化,但是這將是顯示僅供參考。所有Date都有時間。

1

這是真的,沒有Date沒有時間元素,但如果你需要的東西,你可以用它來比較整個日子裏,你可以使用

Calendar.current.startOfDay(for: dateWithTime) 
相關問題