如何在Swift 3中将字符串转换为没有时间的日期?

BOB*_*ING 3 string format time date swift

我已经尝试将2017-02-11字符串的日期转换为日期,但结果给了我类似于2017-02-10 16:00:00 +0000的内容.我在下面使用以下代码.

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
Run Code Online (Sandbox Code Playgroud)

Rus*_*ell 6

确实没有Date时间元素是没有的,但是如果你需要一些可以用来比较整天的东西,你可以获得给定Date使用的第一时刻

Calendar.current.startOfDay(for: dateWithTime)
Run Code Online (Sandbox Code Playgroud)


pap*_*111 5

let dateWithTime = Date()

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

let date = dateFormatter.string(from: dateWithTime) // 2/10/17
Run Code Online (Sandbox Code Playgroud)

这将正确格式化,但这用于显示目的.所有人Date都有时间.