利用SimpleDateFormat進行時間的跨時區轉換 - Java


     * 次方法主要用來將特定時區的時間轉換成指定時區的時間,比如將北京時間“2018-04-08 15:40:49.031”,轉換對應的美國東部時間是“2018-04-08 03:40:49.031”
     * 本方法共三個參數,第一個是待轉換的時間,第二個是待轉換時間是哪個時區,第三個是需要轉換成的時區
     * AvailableIDs:
     * US/Eastern美國東部時間
     * UTC世界標准時間
     * PST太平洋標准時間
     * Asia/Shanghai上海時間
     */
    public String formatToDateUseTimezone(String date,String timezoneid1, String timezoneid2){
        TimeZone.setDefault(TimeZone.getTimeZone(timezoneid2));
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        formatter.setTimeZone(TimeZone.getTimeZone(timezoneid1));
        Date d = null;
        String s = null;
            try {
                d = formatter.parse(date);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            s = formatDate(d);
            return s;
    }

 

基本概念:

UTC

協調世界時,又稱世界標准時間或世界協調時間,簡稱UTC(從英文“Coordinated Universal Time”/法文“Temps UniverselCoordonné”而來),是最主要的世界時間標准,其以原子時秒長為基礎,在時刻上盡量接近於格林尼治標准時間。

GMT

世界時UT即格林尼治時間,格林尼治所在地的標准時間。

Unix Time

Unix時間戳(英文為Unix epoch, Unix time, POSIX time 或 Unix timestamp)

是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM