私はAndroidの初心者です。朝(6am)、午後(12pm)、夜(9pm)の気象情報を表示するアプリケーションを作成し、同じ日の 私はこのウェブサイトからJSONデータを使用しています。 http://api.openweathermap.org/data/2.5/forecast?q=kangra,india&appid=41352ca35dd1be72cc7d9f47351d1b41&units=metric リンクに記載されているタイムスタンプはUTCで、現地時間に合わせて天気情報を表示するのに問題があります(天気情報は午前6時12分、午後6時現地時間) 誰でも私の問題を解決することができます。このJSON天気データ(エポックタイム)を現地時間に変換するには
答えて
上記の日付形式は、epoch
format (or Unix time)です。あなたは(this SO answerからのように)、APIから返さdate
int
またはlong
値である
Date expiry = new Date(Long.parseLong(date));
を行うことができますJavaのDate
に変換するには
は、1476576000
のようにあなたののドキュメントを読む必要がありますデータの意味を確認するためのデータフィード。
私はdt
フィールドはUTCにおける1970-01-01T00:00:00
のエポック全体の秒数であることを推測に行きます。
例データ:
"DT":1476576000
Instant
クラスはnanoseconds(最大9個の数字の分解能でUTCで、タイムライン上のモーメントを表します小数部分)。
Instant instant = Instant.ofEpochSecond (1476576000L);
instant.toString():2016-10-16T00:00:00Z
あなたはどの時間帯にそれを調整することができます。 continent/region
の形式でproper time zone nameを指定します。 EST
またはIST
のような3〜4文字の略語は、標準化されておらず、ユニークではない(!)ため、絶対にタイムゾーンではないので使用しないでください。 ZoneId
を適用してZonedDateTime
を取得します。
ZoneId zoneKolkata = ZoneId.of("Asia/Kolkata");
ZonedDateTime zdtKolkata = instant.atZone(zoneKolkata);
zdtKolkata.toString():2016-10-16T05:30 + 05:30 [アジア/コルカタ]
あなたは他の時間帯のために再びそうすることができます。
ZoneId zoneMontreal = ZoneId.of("America/Montreal");
ZonedDateTime zdtMontreal = instant.atZone(zoneMontreal);
zdtMontreal。toString():2016-10-15T20:00-04:00 [アメリカ/モントリオール]
これらの日付時刻オブジェクト(instant
、zdtKolkata
、zdtMontreal
)のすべての3つはすべての非常に同じ瞬間あり、タイムライン上の同じ単一の点。唯一の違いは、異なる地域のwall-clock timeを見ることです。
java.time
についてjava.timeフレームワークは、Java 8に組み込まれており、後にされています。これらのクラスは、java.util.Date
,.Calendar
,& java.text.SimpleDateFormat
などの面倒な古いlegacy日時クラスに取って代わります。
Joda-Timeプロジェクトは、今maintenance modeで、java.timeへの移行をアドバイスします。
詳しくはOracle Tutorialをご覧ください。そして、多くの例と説明のためにStack Overflowを検索してください。仕様はJSR 310です。
ここで、java.timeクラスを取得するには?
- Java SE 8とSE 9以降
- 内蔵しています。
- バンドルされた実装の標準Java APIの一部です。
- Java 9には、いくつかのマイナーな機能と修正が加えられています。
- Java SE 6とSE 7
- java.time機能の多くはThreeTen-BackportのJava 6 & 7に戻って、移植されます。
- Android
- ThreeTenABPプロジェクトはThreeTen-バックポート具体的にAndroidのため(上記)を適応させます。
- How to use…を参照してください。
ThreeTen-Extraプロジェクトでは、追加のクラスでjava.timeを拡張します。このプロジェクトは、将来のjava.timeへの追加の可能性を証明する土台です。ここでは、Interval
、YearWeek
、YearQuarter
、moreなどの便利なクラスがあります。
- 1. エポックタイムを時間に変換する
- 2. 特定の時間を現地時間に変換する
- 3. JSON(天気API)でデータをレンダリングする
- 4. 時刻を現地時間に変換する
- 5. JSON日付を現地時間でのOracle日付に変換する方法
- 6. UTCを現地時間に変換する - データキャプチャの現地時間を保存/推測する方法
- 7. Laravelでサーバー時間を現地時間に変換する方法は?
- 8. 他のタイムゾーンを現地時間に変換する
- 9. 現地時間からUTCにブーストptimeを変換する
- 10. UNIXタイムスタンプを現地時間(整数)に変換する
- 11. EDTタイムスタンプを現地時間に変換するネイティブ/ JavaScript
- 12. UTCTimeを現地時間に変換する
- 13. 現地時間をUNIXに変換する
- 14. 時間を現地時刻に変換した都市/州/国
- 15. 現在地の天気予報を入手しますか?
- 16. JSON天気APIエラー
- 17. Java/Android - GMT時間文字列を現地時間に変換する
- 18. Android GMTを現在の現地時間に換算する
- 19. 天気アプリ時間別スクロール効果
- 20. .NET Framework 3.0の現地時間をUTCに変換
- 21. AJAX APIコードチェック?地下の天気のAPI?
- 22. Objective-Cの時刻を現地時刻に変換する
- 23. 私の現在地の現在の天気情報を取得したい
- 24. Google天気API温度変換
- 25. JavaScript文字列GMTに変換現地時間
- 26. Swift 3.0:サーバーのUTC時間を現地時間に換算すると
- 27. エポックタイムに変換された時間が間違っています
- 28. 現地時間に出力 - MySQLをMySQLi関数に変換する
- 29. 現地時間
- 30. 現地時間
リンクするのではなく、記事自体に関連するスニペットを含めてください。 –
[Unix epoch time to Java Dateオブジェクト]の可能な複製(http://stackoverflow.com/questions/535004/unix-epoch-time-to-java-date-object) –