【java】带时区的时间格式化
生活随笔
收集整理的這篇文章主要介紹了
【java】带时区的时间格式化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- jdk1.8
- 當前時區
帶時區格式化時間
為SimpleDateFormat對象指定時區后,再執行格式化。
Calendar cal = Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");ZoneId zoneId = ZoneId.ofOffset("GMT", ZoneOffset.ofHours(9)); TimeZone timeZone = TimeZone.getTimeZone(zoneId); df.setTimeZone(timeZone); System.out.println(df.format(cal.getTime()));- 將時間格式化成東九區的時間
示例
package com.example.demo;import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.ZoneId; import java.time.ZoneOffset; import java.util.Calendar; import java.util.TimeZone;public class TestMain {public static void main(String[] args) throws ParseException {Calendar cal = Calendar.getInstance();SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");TimeZone timeZone;ZoneId zoneId;System.out.println("user.timezone = " + System.getProperty("user.timezone"));zoneId = ZoneId.systemDefault();System.out.println("zoneId = " + zoneId);timeZone = TimeZone.getTimeZone(zoneId);df.setTimeZone(timeZone);System.out.println(df.format(cal.getTime()));for (int i=0;i<=12;i++) {zoneId = ZoneId.ofOffset("GMT", ZoneOffset.ofHours(i));System.out.println("zoneId = " + zoneId);timeZone = TimeZone.getTimeZone(zoneId);df.setTimeZone(timeZone);System.out.println(df.format(cal.getTime()));}for (int i=-0;i>=-12;i--) {zoneId = ZoneId.ofOffset("GMT", ZoneOffset.ofHours(i));System.out.println("zoneId = " + zoneId);timeZone = TimeZone.getTimeZone(zoneId);df.setTimeZone(timeZone);System.out.println(df.format(cal.getTime()));}}}輸出
user.timezone = Asia/Shanghai zoneId = Asia/Shanghai 2021-09-26T18:20:09+08:00 zoneId = GMT 2021-09-26T10:20:09Z zoneId = GMT+01:00 2021-09-26T11:20:09+01:00 zoneId = GMT+02:00 2021-09-26T12:20:09+02:00 zoneId = GMT+03:00 2021-09-26T13:20:09+03:00 zoneId = GMT+04:00 2021-09-26T14:20:09+04:00 zoneId = GMT+05:00 2021-09-26T15:20:09+05:00 zoneId = GMT+06:00 2021-09-26T16:20:09+06:00 zoneId = GMT+07:00 2021-09-26T17:20:09+07:00 zoneId = GMT+08:00 2021-09-26T18:20:09+08:00 zoneId = GMT+09:00 2021-09-26T19:20:09+09:00 zoneId = GMT+10:00 2021-09-26T20:20:09+10:00 zoneId = GMT+11:00 2021-09-26T21:20:09+11:00 zoneId = GMT+12:00 2021-09-26T22:20:09+12:00 zoneId = GMT 2021-09-26T10:20:09Z zoneId = GMT-01:00 2021-09-26T09:20:09-01:00 zoneId = GMT-02:00 2021-09-26T08:20:09-02:00 zoneId = GMT-03:00 2021-09-26T07:20:09-03:00 zoneId = GMT-04:00 2021-09-26T06:20:09-04:00 zoneId = GMT-05:00 2021-09-26T05:20:09-05:00 zoneId = GMT-06:00 2021-09-26T04:20:09-06:00 zoneId = GMT-07:00 2021-09-26T03:20:09-07:00 zoneId = GMT-08:00 2021-09-26T02:20:09-08:00 zoneId = GMT-09:00 2021-09-26T01:20:09-09:00 zoneId = GMT-10:00 2021-09-26T00:20:09-10:00 zoneId = GMT-11:00 2021-09-25T23:20:09-11:00 zoneId = GMT-12:00 2021-09-25T22:20:09-12:00- zoneId = Asia/Shanghai是系統默認時區。zoneId = Asia/Shanghai也就是東八區,其時間與zoneId = GMT+08:00一樣。
- zoneId = GMT+00:00 與 zoneId = GMT+00:00是同一個時區,因此時間一樣。
- zoneId = GMT+12:00 與 zoneId = GMT-12:00是國際日期變更線所在,因此時間相差24小時。
總結
以上是生活随笔為你收集整理的【java】带时区的时间格式化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吉祥航空“原神号”现已正式起飞,首航周可
- 下一篇: 英睿达 X10 Pro 移动 SSD 2