😁

【Flutter】OpenWeatherAPIから返ってくる時間を変換する。

2022/08/13に公開

OpenWeatherAPIから返ってくる時間表記(UNIX時間)

現在、OpenWeatherAPIを使って開発を行なっているのですが、その時に返ってきたデータの時間部分の変換に少し時間がかかったのでそれを忘れないようにまとめておきたいと思います。

OpenWeatherAPIを叩いたら、さまざまなデータが格納されているものが返ってくるのですが、その中で「dt」に時間が格納されています。この中には、「1618308000」などといった数字が入っています。
この10桁の数字はUNIX時間と呼ばれます。

Flutter(dart)での変換方法

この数字をDateTime型に変換したいと思います。

var time;

var year;
var hour;

void typeToDate() {
  time = DateTime.fromMillisecondsSinceEpoch(返ってきた数値 * 1000);
  
  year = time.year; //何年かというデータのみ取れる ex) 2022, 2021
  hour = time.hour; // 何時かというデータが取れる ex) 14(14時の場合)
  
  // ほかにもmonth・day・minute・millisecondで各数値を取ることができる。
}

上記のようにすると、OpenWeatherAPIから返ってきたデータの時間を変換することができるようになりました。
ほかにもFirebaseとかを扱う際にTimeStampなどを扱うことになると思うので、また追記していきたいと思います。

Discussion