300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java 当前utc时间_Java获取UTC时间的方法详解

java 当前utc时间_Java获取UTC时间的方法详解

时间:2021-04-16 10:10:31

相关推荐

java 当前utc时间_Java获取UTC时间的方法详解

本文实例讲述了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));

}

}

运行结果如下:

ps:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:

在线日期计算器/相差天数计算器:

在线日期天数差计算器:

unix时间戳(timestamp)转换工具:

在线世界各地时间查询:

希望本文所述对大家java程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。