2017-12-08 3 views
0

私は初心者の開発者ですので、 "EN"のようなユーザーFIPS国コードを取得したいと思っています。他の田舎の時間をどのように素早く得ることができますか?

let CountryTime = String(NSDate.date(*/"EN"*/)) // -> return England Time 

どうすればよいですか?

アドバイスをしてください。ありがとうございました。

+5

国コードが不十分な場合があります。米国には9つのタイムゾーンがあるとします。 '(NS)Date'インスタンスは、UTCに基づく時点です。タイムゾーンはありません。 – vadian

答えて

0

Vadianによると、国コードでは十分ではない、あなたはまずタイムゾーンを知る必要があります。その後、nilを返し、与えられたidentifier.If識別子で初期化されたタイムゾーンが不明な識別子である返しTimeZone.init後

let dateFormatter = DateFormatter() 
dateFormatter.timeZone = TimeZone(abbreviation: "GMT") 
dateFormatter.dateFormat = "HH:mm" 
print(dateFormatter.string(from: Date())) 
+0

タイムゾーンを取得するには、タイムゾーンIDのみを指定します。ところで、英国の時間はGMTではなくBSTです。 –

+1

@ShauketSheikh、あなたはここで少し間違っています、 'GMT + 0'を見てください。 – holex

+0

@holex訂正ありがとうございます。 –

-1

:とにかくあなたのようなものを使用することがあります英国時間を見つけることができます。

let timezone = TimeZone.init(identifier: "America/Los_Angeles") 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "HH:mm" 
dateFormatter.timeZone = timezone 
print(dateFormatter.string(from: Date())) 

また、timeZone識別子リストを確認するには、これを使用してリストを取得します。

print("Time zone list %@",TimeZone.knownTimeZoneIdentifiers) 
関連する問題