【问题标题】:How to get Date, Month and Year into Millisecond in swift如何快速将日期、月份和年份转换为毫秒
【发布时间】:2018-08-31 07:40:56
【问题描述】:

您好,我正在尝试将年、月日期转换为毫秒怎么办,请帮我这样做,

下面是我尝试过的代码。

let date:String = "2018-08-04T07:34:15.287Z"
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "yyyy-MM-dd"

var dateFromString = Date()
if let aString = dateFormatter.date(from: date) {
    dateFromString = aString
}

let timeInMiliseconds:Int = Int(TimeInterval(dateFromString.timeIntervalSince1970 * 1000))

return timeInMiliseconds

但我总是将日期时间设置为毫秒。 当我试图将唯一的日期变为毫秒时,请帮助我需要帮助。 提前致谢。

【问题讨论】:

  • date 是如何定义的? DateTime 在哪里?
  • 现在我有更新代码日期是字符串“2018-08-04T07:34:15.287Z”
  • @AVIRALSINGH 如果您有日期字符串“2018-08-04T07:34:15.287Z”,您的预期输出是什么?
  • 您需要先将字符串转换为日期,然后再将其转换回字符串。

标签: ios swift


【解决方案1】:

您的 dateFormat 与日期不匹配。试试下面的代码:

let date:String = "2018-08-04T07:34:15.287Z"
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let dateToConvert = dateFormatter.date(from: date)

dateFormatter.dateFormat = "yyyy-MM-dd"
let finalDate = dateFormatter.string(from: dateToConvert!)

var dateFromString = Date()
if let aString = dateFormatter.date(from: finalDate) {
    dateFromString = aString
}

let timeInMiliseconds:Int = Int(TimeInterval(dateFromString.timeIntervalSince1970 * 1000))

您将在 timeInMiliseconds 中获得 1533321000000

您可以查看时间here

【讨论】:

  • 感谢您的回复我试图只获取年、月和日期并将其转换为毫秒,这就是为什么我使用这个 dateFormatter.dateFormat = "yyyy-MM-dd"
  • 不是这样的,需要匹配输入字符串。你不能只留下你不想要的格式的一部分。
  • @AVIRALSINGH 非常适合您。您能否接受并投票赞成答案?它将帮助其他开发人员识别正确的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多