LoginSignup
2
1

More than 3 years have passed since last update.

Date型で日本標準時間を出力する方法

Last updated at Posted at 2021-02-12

「Swift Date 日本標準時」で検索してもString型で出力する方法しか見つからず、Date型で出力する方法が見当たらなかったため、備忘録として書きました。

プログラム

Date(timeIntervalSinceNow: 60 * 60 * 9)  // 実行時の時刻を取得

解説

DateはUNIX Time(UTC時間)を取得

Date型は、UNIX時間(UTC時間)を取得します。

Unix timeとは、コンピュータ上での時刻の表現形式の一つです。 Unix Epoch Time(ユニックス・エポック・タイム)などともいいます。 UTCの1970年1月1日0時0分0秒からの経過秒数のことです。なお、日本時間はUTC時間+9時間なので、Unix timeが0のときは、日本時間は、1970年1月1日9時0分0秒となります。

引用元:Konisimple Tools Unixtime相互変換ツール

// "2021/2/10/18:28"に実行
print(Date())  // 2021-02-10 09:28:00 +0000

確認のため、実行しましたが日本時間とUNIX時間で9時間の時差がありました。

timeIntervalSinceNow インスタンスプロパティを活用

Date(timeIntervalSinceNow: TimeInterval)

32,400秒(9時間)後を指定することによって、日本標準時との時差を考慮(現在時刻とTimeIntervalで新しく作成)した日時を取得することができます。

※TimeIntervalは、Double型で秒数を指定

最後に

今回は、UNIX時間と日本時間の時差を考慮し、日本時間を取得しました。この方法より良い方法、もしくは内容に間違いがございましたらコメントでご指導してくださると幸いです。

参考文献

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1