gpt4 book ai didi

ios - 按日期组件获取本地时区日期

转载 作者:搜寻专家 更新时间:2023-11-01 07:14:12 25 4
gpt4 key购买 nike

好的,这是我将当前日期格式化为 GMT 格式并以日期类型返回值的代码。我在调试时“po”了 nowComponent 变量,它显示了当前本地时区值,但代码块“calendar.date(from: nowComponents)!”仍然给我一个 UTC 日期。如何获取本地时区的日期?

    var nowComponents = DateComponents()
let date = Date()

nowComponents.year = (calendar as NSCalendar).component(NSCalendar.Unit.year, from: date)
nowComponents.month = (calendar as NSCalendar).component(NSCalendar.Unit.month, from: date)
nowComponents.day = (calendar as NSCalendar).component(NSCalendar.Unit.day, from: date)
nowComponents.hour = (calendar as NSCalendar).component(NSCalendar.Unit.hour, from: date)
nowComponents.minute = (calendar as NSCalendar).component(NSCalendar.Unit.minute, from: date)
nowComponents.second = (calendar as NSCalendar).component(NSCalendar.Unit.second, from: date)

(nowComponents as NSDateComponents).timeZone = TimeZone.current

return calendar.date(from: nowComponents)!

最佳答案

您的代码都不是必需的。线路:

let date = Date()

就是你所需要的。这会为您提供当前日期和时间。

您的错误是使用 po 来打印日期。这在显示日期的调试输出的日期上使用了 description 方法,并且该输出以 UTC 时间显示日期。

如果您想以本地时间的形式查看日期,请使用 DateFormatter:

let df = DateFormatter()
df.dateStyle = .long
df.timeStyle = .long
let str = df.string(from: date)
print(str)

这将以本地时间显示日期。

关于ios - 按日期组件获取本地时区日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43171636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com