2017-04-14 2 views
-2

私はこのコードを使用して現在の時刻を表示しています:時間を確認する方法は、タイムゾーンを迅速にですか?

let UTCDate = Date() 
let formatter = DateFormatter() 
formatter.dateFormat = "yyyy-MM-dd hh:mm a" 
formatter.timeZone = TimeZone(identifier:"GMT") 
let defaultTimeZoneStr = formatter.string(from: UTCDate) 

誰かが、この時間はどのタイムゾーン(例:中央のタイムゾーン、東部タイムゾーン)内にある場合、私がチェックするのに役立つことができます....

+1

あなたの質問はunclです耳。決定しようとしていることの例を挙げてください。 BTW - GMTタイムゾーンで現在の時刻の文字列を与えるためのコードを作成しました。 – rmaddy

+0

はい私は文字列の値が欲しかった... GMTやローカルタイムが特定のタイムゾーンに属するのかどうかチェックするのは可能でしょうか? –

+0

それは意味をなさない。私がそれが「午後2時」であると言えば、その小さな情報からのタイムゾーン情報はありません。世界のどこでも午後2時のことがあります。繰り返しますが、実際に何をしようとしていますか(あなたが投稿したコードではなく、英語で意味します)。 – rmaddy

答えて

2

ない限り時間は "2017-04-14 10:00:00 EDT"や "2017-04-14 10:00:00 -0400"のような何らかの種類のタイムゾーンインジケータを含む文字列として指定されています。指定された時間の値の時間帯を教えてください。

スウェプトウェイはDateという値で、2001年1月1日より前または後の秒数を指定するだけで、カレンダーとタイムゾーンを使用して任意の時刻値を表示できますユーザー。 ではほとんどケースですが、の場合はケースではないため、タイムゾーンの設定は通常、ユーザーがいるタイムゾーンと一致します。

は、ユーザーの現在のタイムゾーンの設定の略称をしたい場合は、この使用:

Calendar.current.timeZone.abbreviation()! // returns "EDT" for me; 
              // I’m in the eastern time zone 
              // and on daylight saving time 

それとも、地理識別子による時間帯を取得したい場合は、この使用:

Calendar.current.timeZone.identifier // returns "America/New_York" for me 

をまたは、タイムゾーンのフルネームが必要な場合は、次のように試してみてください(パラメータを指定して再生してください)。

// Returns "Eastern Standard Time" for me 
Calendar.current.timeZone.localizedName(for: .standard, locale: Locale.current) 
関連する問題