2016-08-10 2 views
0

私は以下の例を見つけましたが、am-pmモードと24時間モードの両方で動作するようです。NSLocaleを使用して日付フォーマッタを使用するSwift - 自動的に国を設定する必要があります

問題は、ユーザーの国によって自動的にロケール識別子を設定することです。 私は国やその方法を自動的に行うためのリストを見つけられませんでした。

例を挙げて助けてもらえますか?

let mydate = "2014-10-28T18:14:32" 
let formatter = NSDateFormatter() 
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") 
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" 
if let parsedDateTimeString = formatter.dateFromString(mydate) { 
    formatter.stringFromDate(parsedDateTimeString) 
    print(parsedDateTimeString) 
} else { 
    print("Could not parse date") 
} 
+0

によると、この[リンク](http://stackoverflow.com/questions/7720060/nsdate-independent-of-timezone)あなたを助けるかもしれません。 – Khundragpan

答えて

0

「ユーザーの国」の意味によって異なります。ロケール識別子を取得したい場合、デバイスは現在NSLocale.currentLocale().localeIdentifierを試すように設定されています。

+0

たとえば、私の国で時間が18:14:32の場合は、21:14:32と表示されます。 – asheyla

+0

そのためには、NSDateの詳細とタイムゾーンの処理方法を調べる必要があります。 – ff10

0

次のコードを試してください。わたしにはできる。

let dateFormatter = DateFormatter() 
dateFormatter.timeStyle = DateFormatter.Style.short 
let date = dateFormatter.date(from: time) 

AppleのFormatting Data Using the Locale Settings

関連する問題