Java获得UTC时间(转载)

[java] view plain copy
  1. package com.feima.afei.util;  
  2.   
  3. package com.feima.afei.util;  
  4.   
  5. import java.text.DateFormat;  
  6. import java.text.ParseException;  
  7. import java.text.SimpleDateFormat;  
  8. import java.util.Calendar;  
  9. import java.util.TimeZone;  
  10.   
  11. /** 
  12.  *  
  13.  * @author wang zhenfei 
  14.  * 
  15.  */  
  16. public final class GetUTCTimeUtil {  
  17.       
  18.     private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm") ;  
  19.       
  20.     /** 
  21.      * 得到UTC时间,类型为字符串,格式为"yyyy-MM-dd HH:mm" 
  22.      * 如果获取失败,返回null 
  23.      * @return 
  24.      */  
  25.     public static String getUTCTimeStr() {  
  26.         StringBuffer UTCTimeBuffer = new StringBuffer();  
  27.         // 1、取得本地时间:  
  28.         Calendar cal = Calendar.getInstance() ;  
  29.         // 2、取得时间偏移量:  
  30.         int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);  
  31.         // 3、取得夏令时差:  
  32.         int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);  
  33.         // 4、从本地时间里扣除这些差量,即可以取得UTC时间:  
  34.         cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));  
  35.         int year = cal.get(Calendar.YEAR);  
  36.         int month = cal.get(Calendar.MONTH)+1;  
  37.         int day = cal.get(Calendar.DAY_OF_MONTH);  
  38.         int hour = cal.get(Calendar.HOUR_OF_DAY);  
  39.         int minute = cal.get(Calendar.MINUTE);   
  40.         UTCTimeBuffer.append(year).append("-").append(month).append("-").append(day) ;  
  41.         UTCTimeBuffer.append(" ").append(hour).append(":").append(minute) ;  
  42.         try{  
  43.             format.parse(UTCTimeBuffer.toString()) ;  
  44.             return UTCTimeBuffer.toString() ;  
  45.         }catch(ParseException e)  
  46.         {  
  47.             e.printStackTrace() ;  
  48.         }  
  49.         return null ;  
  50.     }  
  51.       
  52.     /** 
  53.      * 将UTC时间转换为东八区时间 
  54.      * @param UTCTime 
  55.      * @return 
  56.      */  
  57.     public static String getLocalTimeFromUTC(String UTCTime){  
  58.         java.util.Date UTCDate = null ;  
  59.         String localTimeStr = null ;  
  60.         try {  
  61.             UTCDate = format.parse(UTCTime);  
  62.             format.setTimeZone(TimeZone.getTimeZone("GMT-8")) ;  
  63.             localTimeStr = format.format(UTCDate) ;  
  64.         } catch (ParseException e) {  
  65.             e.printStackTrace();  
  66.         }  
  67.            
  68.         return localTimeStr ;  
  69.     }  
  70.       
  71.     public static void main(String[] args) {   
  72.         String UTCTimeStr = getUTCTimeStr() ;  
  73.         System.out.println(UTCTimeStr);   
  74.         System.out.println(getLocalTimeFromUTC(UTCTimeStr));  
  75.     }  
  76.   

原文地址:http://blog.csdn.net/feelwing1314/article/details/11717383

你可能感兴趣的:(UTC时间)