从日期时间字符串到 Swift 中的当前时间的天数时差 5
Time difference in days from a datetime string to current time in Swift 5
我的日期时间字符串为“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
我尝试将日历、区域设置和时区添加到日期格式化程序,但它没有 return 日期对象。我还尝试打破组件中的 registationTime(由 whiteSpace 分隔)并单独将它们从字符串转换为日期,但这也没有用。
要使其适用于印度标准时间,您需要将区域设置设置为印度
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))
06/10/2019 09:35:48 AM GMT+2
Optional(2019-06-15 08:33:20 +0000)
我的日期时间字符串为“15/06/2019 02:03:20 PM IST”。我需要计算 DateTime 字符串与当前日期和时间之间以天为单位的时差。
我可以使用
获取 currentDateTimelet 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
我尝试将日历、区域设置和时区添加到日期格式化程序,但它没有 return 日期对象。我还尝试打破组件中的 registationTime(由 whiteSpace 分隔)并单独将它们从字符串转换为日期,但这也没有用。
要使其适用于印度标准时间,您需要将区域设置设置为印度
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))
06/10/2019 09:35:48 AM GMT+2
Optional(2019-06-15 08:33:20 +0000)