javaSEがiOSアプリデザイン、開発に挑む日記

本業java SEがswift、デザインの勉強したことを残しておくブログ

swift ロケールから自分のタイムゾーンへ時刻変換

端末のロケールからユーザのタイムゾーンに時刻変換するメソッド

GMTで送られてくるAPIを使用するときとかに。

func changeDateFormatM(dt_txt:String)->String{
    var date_formatter: NSDateFormatter = NSDateFormatter()
    date_formatter.timeZone     = NSTimeZone(name: "GMT")
    date_formatter.dateFormat = "yyyy/MM/dd HH:mm:ss"
    let tmpDate:NSDate = date_formatter.dateFromString(dt_txt)!
        
    let localeName = NSLocale.preferredLanguages().first as! String
        
    let myDateFormatter: NSDateFormatter = NSDateFormatter()
    myDateFormatter.dateFormat = "MM/dd"
    myDateFormatter.locale     = NSLocale(localeIdentifier: localeName)
    var localeDate: NSString = myDateFormatter.stringFromDate(tmpDate)
        
    return localeDate as String
}

 

 日本は上手くいってるけど、もしかすると他国はダメかも...

ご参考に。