Swift 获取 GMT 中两个日期之间的差异

标签 swift datetime

我最近注意到试图找出两个日期之间的差异(以秒为单位)的奇怪行为。

我有一个采用 GMT 时间的日期字符串:

2016-01-07 01:09:47.289000

我想知道从那时起到现在有多少秒。

但我注意到,当我使用 NSDate() 时,我得到的是本地时间,而不是 GMT 时间。

我该如何去做呢?

最佳答案

使用 NStimeZone 类设置时区

let date = NSDate()
var formatter = NSDateFormatter()
let gmt = NSTimeZone(abbreviation: "GMT")
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZ"
formatter.timeZone = gmt
formatter.stringFromDate(date)

为了进行比较,请将当前日期从 NSDate 转换为“GMT”,然后计算两者之间的时间间隔。

关于Swift 获取 GMT 中两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34646281/

相关文章:

swift - SCNNode 的 ARAnchor

swift - NSAttributedString has no member replacingOccurrences 错误

ios - 如何从 VNClassificationObservation 获取对象矩形/坐标

swift - 如何向多个 UIViewControllers 添加点击手势

c# - 无法将类型 'System.DateTime?' 隐式转换为 'System.DateTime' 。存在显式转换

MySQL选择不在特定日期和时间的id

sql - 日期时间数据类型的平均值

ios - 从自定义 UITableViewHeaderFooterView 获取 tableView

python - 获取 DataFrame 的 Datetime 列的工作日/星期几

C# 字符串到 SqlDateTime : how to set format for recognition?