How to convert string to date without time in Swif

2019-07-07 02:04发布

I have try to convert the date like 2017-02-11 string to date but the result give me back something like this 2017-02-10 16:00:00 +0000 . I am using the following code below.

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

2条回答
Summer. ? 凉城
2楼-- · 2019-07-07 02:14

It's true that there is no Date without a time element, but if you need something that you can use to compare whole days, you can get the first moment of a given Date using

Calendar.current.startOfDay(for: dateWithTime)
查看更多
\"骚年 ilove
3楼-- · 2019-07-07 02:31
let dateWithTime = Date()

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

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

This will format it correctly, but this will be for display purposes only. All Dates have time.

查看更多
登录 后发表回答