代码之家  ›  专栏  ›  技术社区  ›  Manuel Duarte

json gmt时区到设备本地时区swift 4[副本]

  •  0
  • Manuel Duarte  · 技术社区  · 7 年前

    这个问题已经有了答案:

    在把日期字符串转换成nsdate字符串时,我学习了swift和am。正在获取格式为“Thu,22 Oct 2015 07:45:17+0000”的日期字符串。我需要以mm-dd-yyyy格式显示日期。我尝试了以下代码,但它返回“空”。

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
    let dateObj = dateFormatter.dateFromString(dateString!)
    print("Dateobj: \(dateObj)")
    

    有人能帮一下哪里出了问题吗?期待帮助。事先谢谢。

    0 回复  |  直到 7 年前
        1
  •  99
  •   t4nhpt    7 年前

    首先,您需要将字符串转换为NSDATE格式。然后,你改变 dateFormatter 转换为简单格式并将其转换回字符串。

    斯威夫特3

    let dateString = "Thu, 22 Oct 2015 07:45:17 +0000"
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss +zzzz"
    dateFormatter.locale = Locale.init(identifier: "en_GB")
    
    let dateObj = dateFormatter.date(from: dateString)
    
    dateFormatter.dateFormat = "MM-dd-yyyy"
    print("Dateobj: \(dateFormatter.string(from: dateObj!))")
    

    打印结果为: Dateobj: 10-22-2015

        2
  •  46
  •   rmaddy    7 年前
    //String to Date Convert
    
    var dateString = "2014-01-12"
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    let s = dateFormatter.dateFromString(dateString)
    println(s)
    
    
    //CONVERT FROM NSDate to String  
    
    let date = NSDate()
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd" 
    var dateString = dateFormatter.stringFromDate(date)
    println(dateString)  
    
        3
  •  7
  •   Zun Juliano Moraes    7 年前

    斯威夫特3:

    let date = NSDate()
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    var dateString = dateFormatter.stringFromDate(date)
    println(dateString)
    

    在Swift 4中,这将被写为:

    let date = Date()
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    var dateString = dateFormatter.string(from: date)
    
        4
  •  2
  •   Alexey Pichukov    9 年前

    请参阅Gary Makin的回答。您需要更改格式或数据。因为您所拥有的数据不适合所选格式。例如,此代码工作正常:

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    let dateObj = dateFormatter.dateFromString("10 10 2001")
    print("Dateobj: \(dateObj)")