Ahs*_*sim 10 nsdate nsdatecomponents ios swift
我试图只获取意味着小时、分钟、秒为零的日期。这就是我正在尝试的
extension Date {
var onlyDate: Date? {
get {
let calender = Calendar.current
var dateComponents = calender.dateComponents([.year, .month, .day], from: self)
dateComponents.timeZone = NSTimeZone.system
return calender.date(from: dateComponents)
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试时
date = Date().onlyDate
Run Code Online (Sandbox Code Playgroud)
它返回前一个日期。你可以查看屏幕截图,它给我的是 4 月 14 日,而应该是 15 日
Swe*_*per 12
让我猜一下,您现在处于 GMT+6 时区,不是吗?
打印 s时Date,它们始终以 UTC 格式显示。
2019-04-14 18:00 UTC与您当地时区的 2019-04-15 00:00 相同。
你的代码没有错。效果很好。
要在您的时区中查看它,请使用 aDateFormatter并设置timeZone属性:
let formatter = DateFormatter()
formatter.timeStyle = .none
formatter.dateStyle = .full
formatter.timeZone = TimeZone.current
print(formatter.string(from: Date().onlyDate))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17204 次 |
| 最近记录: |