【发布时间】:2020-08-25 10:11:27
【问题描述】:
我从 datepicker 获取文本字段中的日期.. 在文本字段中获取正确的日期和时间,但从 dateFormatter 时间不正确,但日期完美
这是我的代码
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yy, hh:mm a"
let dateFormate = dateFormatter.date(from: dateLabel.text!)
print("out put \(dateLabel.text!)")//log out put 8/25/20, 3:40 PM
print("out put \(dateFormate)") // out put Optional(2020-08-25 10:08:00 +0000)
我得到正确的日期但错误的时间为什么?
在 20 年 8 月 25 日下午 3:40 注销 //textfield o/p
输出 Optional(2020-08-25 10:08:00 +0000) // dateFormate o/p
我哪里错了,请帮我写代码。
【问题讨论】:
-
这可能与时区有关。打印
Date对象总是打印 UTC 时间。dateLabel中日期字符串的时区是什么? -
这里有什么问题,如上所述,这只是日期的打印方式,但您对这个日期对象的最终用途是什么?
-
@JoakimDanielson .. 如果我给出时区 .. 然后像
(2020-08-25 17:32:00 +0000)这样 o/p 但我需要像8/25/20, 5:32 PM这样我需要 12 小时的甲酸.. 怎么做 -
输出只是日期的文本表示,在 Date 对象中没有 12 或 24 小时格式。鉴于您之前的问题以及这个问题,您确实需要了解 Date 对象和日期的文本表示之间的区别。只有后者有格式。因此,请再次阅读 Date 对象是什么,以便正确理解它。
标签: swift time dateformatter