gpt4 book ai didi

ios - 将 12 位数字刻度转换为日期

转载 作者:行者123 更新时间:2023-11-28 10:05:55 24 4
gpt4 key购买 nike

我正在尝试转换 12 位 C# 日期时间刻度格式的时间。 (648000000000)。在以下链接的帮助下,我为我的代码添加了一个扩展 How to get 18-digit current timestamp in Swift? .

extension Date {
init(ticks: UInt64) {
self.init(timeIntervalSince1970: Double(ticks)/10_000_000 - 62_135_596_800)
}
}

let date = Date(ticks: 648000000000)

当我尝试查看结果日期时,它打印如下;

0001-01-03 18:00:00 +0000

但是,当我尝试将其转换为小时和分钟格式时,输出与 19:55 无关

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
dateFormatter.string(from: date)

我的第一个问题是如何将其格式化为仅获取 18:00。第二个是为什么我只打印日期时打印 18:00,而格式化时打印 19:55?

最佳答案

只是不要减去 62_135_596_800

extension Date {
init(ticks: UInt64) {
self.init(timeIntervalSince1970: Double(ticks)/10_000_000)
}
}

1970-01-01 18:00:00 +0000

另一个问题:当您创建 date 并打印它时,字符串的格式为 UTC 时区(偏移 GMT+0)。但是 DateFormatter 返回依赖于其时区的字符串表示形式,默认情况下是本地时区。

您只需将dateFormattertimeZone 设置为UTC 即可修复您的代码

dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)

18:00

关于ios - 将 12 位数字刻度转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53868850/

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