Java 獲取各時區時間,獲取當前時間到格林威治時間1970年01月01日00時00分00秒的秒數


  1. 格林威治時間即UTC/GMT時間,1970年01月01日00時00分00秒(即UTC+8的北京時間1970年01月01日08時00分00秒)
    計算代碼如下:
 1  /**
 2      * 獲取指定時間到格林威治時間的秒數
 3      * UTC:格林威治時間1970年01月01日00時00分00秒(UTC+8北京時間1970年01月01日08時00分00秒)
 4      * @param time
 5      * @return
 6      */
 7     public static long diffSeconds(String time){
 8         Calendar calendar = Calendar.getInstance();
 9 
10         calendar.clear();
11         Date datetime = DatetimeUtil.toDateByDate14(time);
12         calendar.setTime(datetime);
13 
14         TimeZone timeZone = TimeZone.getTimeZone("GMT+08:00");
15         calendar.setTimeZone(timeZone);
16         return calendar.getTimeInMillis()/1000;
17     }
18 
19     public static void main(String[] args) throws Exception {
20 
21         String datetime = DatetimeUtil.getDatetime();
22         System.out.println("=================方法一:calendar============================");
23         System.out.println(diffSeconds(datetime));
24         System.out.println("=================方法二:計算時間差============================");
25         System.out.println(DatetimeUtil.diffSeconds("19700101080000", datetime, DatetimeUtil.PATTERN_YYYYMMDDHHMMSS));
26         System.out.println("=================方法三:使用system============================");
27         System.out.println(System.currentTimeMillis()/1000);
28     }
 
        

 

 

  2. 用Java取指定時區的時間 北京時間,紐約時間,班加羅爾時間

 1 /**
 2      * 取北京時間
 3      * @return
 4      */
 5     public static String getBeijingTime(){
 6         return getFormatedDateString(8);
 7     }
 8     
 9     /**
10      * 取班加羅爾時間
11      * @return
12      */
13     public static String getBangaloreTime(){
14         return getFormatedDateString(5.5f);
15     }
16     
17     /**
18      * 取紐約時間
19      * @return
20      */
21     public static String getNewyorkTime(){
22         return getFormatedDateString(-5);
23     }
24     
25     /**
26      * 此函數非原創,從網上搜索而來,timeZoneOffset原為int類型,為班加羅爾調整成float類型
27      * timeZoneOffset表示時區,如中國一般使用東八區,因此timeZoneOffset就是8
28      * @param timeZoneOffset
29      * @return
30      */
31     public static String getFormatedDateString(float timeZoneOffset){
32         if (timeZoneOffset > 13 || timeZoneOffset < -12) {
33             timeZoneOffset = 0;
34         }
35         
36         int newTime=(int)(timeZoneOffset * 60 * 60 * 1000);
37         TimeZone timeZone;
38         String[] ids = TimeZone.getAvailableIDs(newTime);
39         if (ids.length == 0) {
40             timeZone = TimeZone.getDefault();
41         } else {
42             timeZone = new SimpleTimeZone(newTime, ids[0]);
43         }
44     
45         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
46         sdf.setTimeZone(timeZone);
47         return sdf.format(new Date());
48     }

 

 


免責聲明!

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



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