成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

java時(shí)區(qū)理解

Amio / 3250人閱讀

摘要:一時(shí)區(qū)的基本概念,即格林威治標(biāo)準(zhǔn)時(shí),是東西經(jīng)零度的地方。時(shí)間卻同時(shí)可以代表如下個(gè)不同的時(shí)區(qū)可見,可以同時(shí)表示美國(guó),澳大利亞,中國(guó),古巴四個(gè)國(guó)家的標(biāo)準(zhǔn)時(shí)間。以及是的縮寫,美國(guó)夏季始于每年月的第個(gè)周日,止于每年月的最后一個(gè)周日。

一、時(shí)區(qū)的基本概念
GMT(Greenwich Mean Time),即格林威治標(biāo)準(zhǔn)時(shí),是東西經(jīng)零度的地方。人們將地球人為的分為24等份,每一等份為一個(gè)時(shí)區(qū),每時(shí)區(qū)橫跨經(jīng)度15度,時(shí)間正好為1小時(shí)。往西一個(gè)時(shí)區(qū),則減去一小時(shí);往東一個(gè)時(shí)區(qū),則加上一小時(shí)。中國(guó)在東經(jīng)120度上,(東經(jīng)120°-東經(jīng)0°)所得度數(shù)再除以15,即得8。
UTC(Coordinated Universal Time),即世界協(xié)調(diào)時(shí)間,是經(jīng)過(guò)平均太陽(yáng)時(shí)(以格林威治時(shí)間GMT為準(zhǔn))、地軸運(yùn)動(dòng)修正后的新時(shí)標(biāo)以及以「秒」為單位的國(guó)際原子時(shí)所綜合精算而成的時(shí)間,計(jì)算過(guò)程相當(dāng)嚴(yán)謹(jǐn)精密,因此若以「世界標(biāo)準(zhǔn)時(shí)間」的角度來(lái)說(shuō),UTC比GMT來(lái)得更加精準(zhǔn)。UTC的本質(zhì)強(qiáng)調(diào)的是比GMT更為精確的世界時(shí)間標(biāo)準(zhǔn),不過(guò)對(duì)于現(xiàn)行表款來(lái)說(shuō),GMT與UTC的功能與精確度是沒有差別的。
CST時(shí)間卻同時(shí)可以代表如下 4 個(gè)不同的時(shí)區(qū):
Central Standard Time (USA) UT-6:00
Central Standard Time (Australia) UT+9:30
China Standard Time UT+8:00
Cuba Standard Time UT-4:00
可見,CST可以同時(shí)表示美國(guó),澳大利亞,中國(guó),古巴四個(gè)國(guó)家的標(biāo)準(zhǔn)時(shí)間。
DST(Daylight Saving Time),夏日節(jié)約時(shí)間,指在夏天太陽(yáng)升起的比較早時(shí),將時(shí)鐘撥快一小時(shí),以提早日光的使用,在英國(guó)則稱為夏令時(shí)間(Summer Time)。
PDT以及PST, PDT 是 Pacific Daylight Time 的縮寫,美國(guó)夏季始于每年4月的第1個(gè)周日,止于每年10月的最后一個(gè)周日。夏令時(shí)比正常時(shí)間早一小時(shí),與PDT時(shí)間相對(duì)應(yīng)的是PST , Pacific Standard Time 。 夏時(shí)制結(jié)束后就是PST(太平洋標(biāo)準(zhǔn)時(shí)間),西八區(qū),與北京時(shí)間(東八區(qū))時(shí)差-16個(gè)小時(shí)。

二、java中的時(shí)區(qū)
可以用以下code,列出java中的時(shí)區(qū)

String ids[] = TimeZone.getAvailableIDs();
        for(String id: ids) {
            System.out.println(id);
        }

注意:你會(huì)發(fā)現(xiàn)在PDT不在該時(shí)區(qū)列表里
如果要用PDT,用PST作為時(shí)區(qū)可以得到準(zhǔn)確的時(shí)間,即使是夏令時(shí)

        TimeZone timeZone = TimeZone.getTimeZone("PST");
        Calendar calendar = new GregorianCalendar();
        calendar.set(Calendar.MILLISECOND, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.HOUR, 0);
        calendar.set(2018, 5, 10);// 輸出 Sun Jun 10 15:00:00 CST 2018
                //calendar.set(2018, 2, 10); // 輸出 Sat Mar 10 16:00:00 CST 2018
        calendar.setTimeZone(timeZone);
        System.out.println(calendar.getTime());

如果要獲得某個(gè)時(shí)區(qū)是否使用了DST,可以用useDaylightTime

        boolean isUsingDST = TimeZone.getTimeZone("America/Los_Angeles").useDaylightTime();
        System.out.println(isUsingDST);

如果要判斷某個(gè)時(shí)間在某個(gè)時(shí)區(qū)是否發(fā)生了DST,可以用

               Calendar calendarServer=Calendar.getInstance();
        calendarServer.add(Calendar.DATE, 1);
        boolean isUsingDST = clientTimeZone.inDaylightTime(calendarServer.getTime());
        System.out.println(isUsingDST);

獲取當(dāng)前時(shí)區(qū)和UTC的偏移量,在當(dāng)前時(shí)間5月13日(發(fā)生了DLS)比較getRawOffset() 和getOffset()

                TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));//將timezone設(shè)定到發(fā)生夏令時(shí)的地區(qū)
                int rowOffSet = TimeZone.getDefault().getRawOffset();
        int offSet = TimeZone.getDefault().getOffset(System.currentTimeMillis());
                System.out.println(offSet + " " + offSet/3600000 ); // -7 hours
        System.out.println(rowOffSet + " " + rowOffSet/3600000); // -8 hours

以下是時(shí)區(qū)轉(zhuǎn)化的例子

        Date date = new Date(1359641834000L);// 2013-1-31 22:17:14
        String dateStr = "2013-3-31 22:17:14";
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dateFormat.setTimeZone(TimeZone.getTimeZone("CST"));// CST = GMT - 6(Central Standard Time (USA)而不是北京標(biāo)準(zhǔn)時(shí)間)

        try {
//            指該字串以CST來(lái)?yè)Q算,所以實(shí)際時(shí)間是2013-1-31 22:17:14 CST(GMT - 6),輸出是以host的時(shí)區(qū)(GMT+8)進(jìn)行format,所以加14
            Date dateTmp = dateFormat.parse(dateStr);

                        boolean isUsingDST = TimeZone.getTimeZone("CST").inDaylightTime(dateTmp);
            System.out.println(isUsingDST);// 輸出true,因此減1個(gè)小時(shí)
            System.out.println(dateTmp);//輸出 Fri Feb 01 11:17:14 CST 2013
        } catch(ParseException e) {
            e.printStackTrace();
        }
        String dateStrTmp = dateFormat.format(date);//數(shù)字是絕對(duì)時(shí)間,如果以host時(shí)區(qū)(GMT+8)來(lái)format就是22:17,這個(gè)數(shù)字以CST/GMT-6時(shí)區(qū)來(lái)format,就是-14
        System.out.println(dateStrTmp);// 輸出 2013-01-31 08:17:14

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/69371.html

相關(guān)文章

  • Java? 教程(Date-Time)

    Date-Time Java SE 8發(fā)行版中引入的Date-Time包java.time提供了全面的日期和時(shí)間模型,是在JSR 310:Date and Time API下開發(fā)的,盡管java.time基于國(guó)際標(biāo)準(zhǔn)化組織(ISO)日歷系統(tǒng),但也支持常用的全球日歷。 此課程介紹了使用基于ISO的類來(lái)表示日期和時(shí)間以及操作日期和時(shí)間值的基本原理。 概述 時(shí)間似乎是一個(gè)簡(jiǎn)單的主題,即便是便宜的手表也能...

    AlphaGooo 評(píng)論0 收藏0
  • Java8實(shí)戰(zhàn)》-第十二章筆記(新的日期和時(shí)間API)

    摘要:合并日期和時(shí)間這個(gè)復(fù)合類名叫,是和的合體。截至目前,我們介紹的這些日期時(shí)間對(duì)象都是不可修改的,這是為了更好地支持函數(shù)式編程,確保線程安全,保持領(lǐng)域模式一致性而做出的重大設(shè)計(jì)決定。 新的日期和時(shí)間API Java的API提供了很多有用的組件,能幫助你構(gòu)建復(fù)雜的應(yīng)用。不過(guò),Java API也不總是完美的。我們相信大多數(shù)有經(jīng)驗(yàn)的程序員都會(huì)贊同Java 8之前的庫(kù)對(duì)日期和時(shí)間的支持就非常不理想...

    khlbat 評(píng)論0 收藏0
  • Java 時(shí)間與日期處理

    摘要:時(shí)間與日期處理從屬于筆者的現(xiàn)代開發(fā)系列文章,涉及到的引用資料聲明在學(xué)習(xí)與實(shí)踐資料索引中??梢酝ㄟ^(guò)靜態(tài)構(gòu)造方法很容易的創(chuàng)建,定義了與之間的轉(zhuǎn)化關(guān)系時(shí)差類以年月日來(lái)表示日期差,而以秒與毫秒來(lái)表示時(shí)間差適用于處理與機(jī)器時(shí)間。 Java 時(shí)間與日期處理 從屬于筆者的現(xiàn)代 Java 開發(fā)系列文章,涉及到的引用資料聲明在 Java 學(xué)習(xí)與實(shí)踐資料索引中。 Java 時(shí)間與日期處理 在 Java 8...

    HelKyle 評(píng)論0 收藏0
  • 20 個(gè)案例教你在 Java 8 中如何處理日期和時(shí)間?

    摘要:前言前面一篇文章寫了如何安全的使用里面介紹了如何處理日期時(shí)間,以及如何保證線程安全,及其介紹了在中的處理時(shí)間日期默認(rèn)就線程安全的類。引入了全新的日期時(shí)間格式工具,線程安全而且使用方便。 前言 前面一篇文章寫了《SimpleDateFormat 如何安全的使用?》, 里面介紹了 SimpleDateFormat 如何處理日期/時(shí)間,以及如何保證線程安全,及其介紹了在 Java 8 中的處...

    Rango 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<