【问题标题】:Date change format from string to date in swift 3swift 3中从字符串到日期的日期更改格式
【发布时间】:2018-01-19 14:30:36
【问题描述】:

我正在尝试将日期“01/12/2017”从字符串转换为日期格式,但转换后它给了我这个格式日期 2017-12-01 00:00:00 +0000。 但我只想要这种格式“01/12/2017”的日期。这是我的代码。

  func onlyDate(date: String) -> Date {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd/MM/yyyy"
    dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00")
    let date1 = dateFormatter.date(from: date)
     print(date1!)
    return date1!
   }

【问题讨论】:

  • 日期只是一个时间点。它没有“格式”。您需要根据需要使用 DateFormatter 来显示它。顺便说一句,如果您想要一个时间不敏感的日期,您应该改用 noon 并且不要将时区设置为 gmt。
  • 我也尝试了此链接中的代码,但没有得到正确的日期。它给了我这个结果“2017-01-01 00:12:00 +0000”。我将格式更改为这个 dateFormatter.dateFormat = "dd/mm/yyyy"。

标签: ios swift


【解决方案1】:

试试这个:

let dateFormatters:DateFormatter = DateFormatter()
dateFormatters.dateFormat = "dd/MM/yyyy"
dateFormatters.locale = Locale.current

let date: Date = Date()
print("Current Date : \(date)")
print("Format Date as you want : \(dateFormatters.string(from: date))")

如果你想从String 转换成Date,你也可以使用dateFormatters.date(from: yourString)

【讨论】:

    【解决方案2】:

    基本上,日期类对象不用于格式化。那只是为了获取日期的实例,它有自己的格式。

    如果要格式化,只能用字符串格式化,不能用日期实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 2022-01-13
      • 2022-07-04
      • 2016-06-25
      • 1970-01-01
      相关资源
      最近更新 更多