利用Java如何实现获取UTC时间

本篇文章为大家展示了利用Java如何实现获取UTC时间,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联建站于2013年开始,先为崇仁等服务建站,崇仁等地企业,进行企业商务咨询服务。为崇仁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

本文实例讲述了Java获取UTC时间的方法。分享给大家供大家参考,具体如下:

取得本地时间:

java.util.Calendar cal = java.util.Calendar.getInstance();

取得指定时区的时间:

java.util.TimeZone zone = java.util.TimeZone.getTimeZone(“GMT-8:00″);
java.util.Calendar cal = java.util.Calendar.getInstance(zone);
java.util.Calendar cal = java.util.Calendar.getInstance(java.util.Locale.CHINA);

您可以取得GMT 0的本地时间,但是又如何取得标准(相对于Java而言)的时间呢?

1. 取得本地时间:

java.util.Calendar cal = java.util.Calendar.getInstance();

2. 取得时间偏移量:

int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);

3. 取得夏令时差:

int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);

4.从本地时间里扣除这些差量,即可以取得UTC时间:

cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));

完整示例:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
public final class GetUTCTimeUtil {
  private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm") ;
  /**
   * 得到UTC时间,类型为字符串,格式为"yyyy-MM-dd HH:mm"
* 如果获取失败,返回null * @return */ public static String getUTCTimeStr() { StringBuffer UTCTimeBuffer = new StringBuffer(); // 1、取得本地时间: Calendar cal = Calendar.getInstance() ; // 2、取得时间偏移量: int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET); // 3、取得夏令时差: int dstOffset = cal.get(java.util.Calendar.DST_OFFSET); // 4、从本地时间里扣除这些差量,即可以取得UTC时间: cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset)); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int day = cal.get(Calendar.DAY_OF_MONTH); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); UTCTimeBuffer.append(year).append("-").append(month).append("-").append(day) ; UTCTimeBuffer.append(" ").append(hour).append(":").append(minute) ; try{ format.parse(UTCTimeBuffer.toString()) ; return UTCTimeBuffer.toString() ; }catch(ParseException e) { e.printStackTrace() ; } return null ; } /** * 将UTC时间转换为东八区时间 * @param UTCTime * @return */ public static String getLocalTimeFromUTC(String UTCTime){ java.util.Date UTCDate = null ; String localTimeStr = null ; try { UTCDate = format.parse(UTCTime); format.setTimeZone(TimeZone.getTimeZone("GMT-8")) ; localTimeStr = format.format(UTCDate) ; } catch (ParseException e) { e.printStackTrace(); } return localTimeStr ; } public static void main(String[] args) { String UTCTimeStr = getUTCTimeStr() ; System.out.println(UTCTimeStr); System.out.println(getLocalTimeFromUTC(UTCTimeStr)); } }

运行结果如下:

利用Java如何实现获取UTC时间

上述内容就是利用Java如何实现获取UTC时间,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


文章题目:利用Java如何实现获取UTC时间
浏览路径:http://myzitong.com/article/gdheoi.html