Swift 5 中从日期时间字符串到当前时间的天数时差

Posted

技术标签:

【中文标题】Swift 5 中从日期时间字符串到当前时间的天数时差【英文标题】:Time difference in days from a datetime string to current time in Swift 5 【发布时间】:2019-10-06 05:47:47 【问题描述】:

我的日期时间字符串为“15/06/2019 02:03:20 PM IST”。我需要计算 DateTime 字符串与当前日期和时间之间的天数时差。

我可以使用

获取 currentDateTime
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy hh:mm:ss a zzz"
let now = Date()
print(dateFormatter.string(from: now))      //It gives output as 06/10/2019 11:08:52 AM GMT+5:30 not as IST timezone. 

但我无法将给定的 DateTime 字符串转换为日期对象以获取差异。

let registrationTime = "15/06/2019 02:03:20 PM IST"
print(dateFormatter.date(from: registrationTime))       //prints nil

我尝试将日历、区域设置和时区添加到日期格式化程序,但它没有返回日期对象。我还尝试打破组件中的注册时间(由空格分隔)并单独将它们从字符串转换为日期,但这也不起作用。

【问题讨论】:

我假设您的第二次转换是date(from:) 【参考方案1】:

要使其与印度标准时间一起使用,您需要将您的语言环境设置为印度的一种

dateFormatter.locale = Locale(identifier: "en_IN")

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy hh:mm:ss a zzz"
dateFormatter.locale = Locale(identifier: "en_IN")

let now = Date()
print(dateFormatter.string(from: now))

let registrationTime = "15/06/2019 02:03:20 PM IST"
print(dateFormatter.date(from: registrationTime))

2019 年 6 月 10 日上午 09:35:48 GMT+2 可选(2019-06-15 08:33:20 +0000)

【讨论】:

非常感谢!它起作用了,我现在知道日期的不同了......

以上是关于Swift 5 中从日期时间字符串到当前时间的天数时差的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TypeScript 中从日期中减去天数

Java中计算两个字符串日期之间或当前时间与指定时间的天数差

Python:我有一个日期列表。我想计算到当前日期的天数[重复]

在 Swift 中从日期字符串转换日期

如何在django模板中从给定日期起特定天数后获取日期

我如何在swift 5中找到2天之间的天数? [复制]