如何将字符串转换为Swift 3中没有时间的日期?
问题描述:
我已尝试将日期如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
答
let dateWithTime = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short
let date = dateFormatter.string(from: date) // 2/10/17
这将正确地格式化,但是这将是显示仅供参考。所有Date
都有时间。
答
这是真的,没有Date
没有时间元素,但如果你需要的东西,你可以用它来比较整个日子里,你可以使用
Calendar.current.startOfDay(for: dateWithTime)
您可以显示得到给定
Date
的第一时刻日期没有显示时间,但没有日期没有时间 –日期是正确的。 'print'以UTC显示日期,您的本地时区显然是UTC + 8 – vadian