gpt4 book ai didi

swift - 为什么字符串内部的 NSDate 不同?

转载 作者:行者123 更新时间:2023-11-30 10:20:13 24 4
gpt4 key购买 nike

在 Playground 上,我正在测试一些代码。

如果我输入

NSDate() 

然后我得到“2014 年 11 月 28 日晚上 7:56”

但是,如果我输入

var dateString: String = "\(NSDate())"

然后我得到“2014-11-29 01:56:45 +0000”

为什么字符串中的默认时间与简单的 NSDate() 声明不同?

最佳答案

In playground, I am testing some code.

If I type in

NSDate() then I get "Nov 28, 2014, 7:56 PM"

这是您的本地时间,但您无法将时区存储到 NSDate 对象中。

But, if I type in

var dateString: String = "(NSDate())" then I get "2014-11-29 01:56:45 +0000"

这是格林威治标准时间,这就是它存储到 NSDate 中的方式

let dateString = "\(Date())"

等同于:

let dateString = Date().description

如果您想知道某个日期的本地时间,您可以执行以下操作:

编辑/更新 Swift 3 或更高版本:

extension Formatter {
static let localTimestamp: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .full
return dateFormatter
}()
}
extension Date {
var localTimestamp: String {
return Formatter.localTimestamp.string(from: self)
}
}

Date().localTimestamp // "6:40:19 PM Brasilia Standard Time"

关于swift - 为什么字符串内部的 NSDate 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27198116/

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