【问题标题】:How can i get Local DateFormat with swift?如何快速获取本地 DateFormat?
【发布时间】:2018-03-09 12:36:19
【问题描述】:

我有 yyyy-MM-ddTHH:mm:ssZ 格式的 CEST 日期。我想以本地格式显示它们。以下功能工作正常。它正确显示时间。 但最后我不得不以 "dd.MM.yyyy HH:mm" 格式显示日期。如何从 iOS 获取本地/本地 DateFormat。

func changeTime()
    {
        myLabel.text = convertTimeZoneToLocal(timeZone: "CEST", date: "2017-09-27T18:25:42Z")
    }

func convertTimeZoneToLocal(timeZone:String, date:String) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
    dateFormatter.timeZone = TimeZone(abbreviation: timeZone)

    let dt = dateFormatter.date(from: date)
    dateFormatter.timeZone = TimeZone.current
    dateFormatter.dateFormat = "dd.MM.yyyy HH:mm"  // I want to change this line.

    return dateFormatter.string(from: dt!)
}

【问题讨论】:

    标签: swift xcode date timezone


    【解决方案1】:

    你可以使用:

    dateFormatter.dateStyle = .short
    dateFormatter.timeStyle = .short
    

    但这些格式不同dd.MM.yyyy HH:mm

    【讨论】:

      【解决方案2】:
      // create dateFormatter with UTC time format
      let dateFormatter = NSDateFormatter()
      dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
      dateFormatter.timeZone = NSTimeZone(name: "UTC")
      let date = dateFormatter.dateFromString("2015-04-01T11:42:00")// create   date from string
      
      // change to a readable time format and change to local time zone
      dateFormatter.dateFormat = "EEE, MMM d, yyyy - h:mm a"
      dateFormatter.timeZone = NSTimeZone.localTimeZone()
      let timeStamp = dateFormatter.stringFromDate(date!)
      

      【讨论】:

      • 你正在推动 "EEE, MMM d, yyyy - h:mm a" 格式。我不想给出固定的格式。我想使用用户在设备上选择的任何格式。 ;) 我认为 .short 格式会起作用。
      【解决方案3】:

      使用它来获取基于操作系统选定区域的甲酸盐

      let dateformatter = DateFormatter()       
      dateformatter.setLocalizedDateFormatFromTemplate("dd/MM/yyyy")
      let strDate = dateformatter.string(from: NSDate() as Date)
      

      输出: 操作系统区域为美国:18/02/2021

      操作系统区域为美国:02/18/2021

      【讨论】:

        猜你喜欢
        • 2023-04-09
        • 2016-03-03
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-28
        相关资源
        最近更新 更多