在Java语言中,您可以通过java.util.Calendar类取得一个本地时间或者指定时区的时间实例,如下:

取得本地时间:

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));

之后,您再通过调用cal.get(int x)或cal.getTimeInMillis()方法所取得的时间即是UTC标准时间。

详细的代码如下:

packagecom.feima.afei.util;packagecom.feima.afei.util;importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.TimeZone;/***

*@authorJaven

**/

public final classGetUTCTimeUtil {private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm") ;/*** 得到UTC时间,类型为字符串,格式为"yyyy-MM-dd HH:mm"

* 如果获取失败,返回null

*@return

*/

public staticString getUTCTimeStr() {

StringBuffer UTCTimeBuffer= newStringBuffer();//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()) ;returnUTCTimeBuffer.toString() ;

}catch(ParseException e)

{

e.printStackTrace() ;

}return null;

}/*** 将UTC时间转换为东八区时间

*@paramUTCTime

*@return

*/

public staticString 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();

}returnlocalTimeStr ;

}public static voidmain(String[] args) {

String UTCTimeStr=getUTCTimeStr() ;

System.out.println(UTCTimeStr);

System.out.println(getLocalTimeFromUTC(UTCTimeStr));

}

}

java utc时间_Java获得UTC时间相关推荐

  1. java 字符串转utc时间_Java中转UTC时间字符串(含有T Z)为local时间

    在Java中我们需要转换相应格式的字符串,很多时候我们想到用SimpleDateFormat类来解析.但是最近我在调用一个第三方的接口时返回的 JSON字符串中有个expires字段的值是2014-0 ...

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

    本文实例讲述了java获取utc时间的方法.分享给大家供大家参考,具体如下: 取得本地时间: java.util.calendar cal = java.util.calendar.getinstan ...

  3. java 公元前时间_Java日期和时间类简介

    Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类 ...

  4. java 获取当前日期时间_Java 获取当前日期时间

    Java 当前日期时间教程介绍了各种 Java 类,以获取 Java 中的当前日期时间. 有几种方法可以获取 Java 中的当前日期和时间. Java 程序员可以使用 Java 8(java.time ...

  5. java获取时间_java获取Date时间的各种方式汇总

    java获取Date时间的各种方式为大家分享如下 常用的时间获取方式 public class DateUtils { /** * 获取时间戳 * 输出结果:1438692801766 */ @Tes ...

  6. java 判断当天_java判断一个时间是否是今天的方法

    java判断时间是否是今天:public class Test { /** * java 判断一个时间是不是今天的时间范围内 * @param args */ public static void m ...

  7. java当前时间_Java获取当前时间(一)

    有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import j ...

  8. localdatetime 默认时间_java中的时间与时区:LocalDateTime和Date

    LocalDateTime LocalDateTime本身不包含时区信息,它存储的是年.月.日.时分秒,纳秒这样的数字. 在不同的时区下,这样的数字代表不同的时间. 比如一个LocalDateTime ...

  9. java 按格式输出时间_java格式输出时间

    import java.util.*; public class GetDate { // 新建类 public static void main(String[] args) { // 主方法 Da ...

  10. java 月份起止时间_java已知时间的本周,本月,本年的起始时间

    String --->LocalDateTime /LocalDate --->String/Long 有一些项目需要展示本日,本周,本月,本年的相关统计信息,这时就需要根据当前日期(或者 ...

最新文章

  1. hpacucli查看HP服务器硬盘状态
  2. Android性能优化工具
  3. python逻辑运算(not、and、or)总结_python逻辑判断 () not and or
  4. 【程序员面试干货】资深面试官告诉你:测试工程师面试要注意什么?
  5. 【Python】汉诺塔问题
  6. mysql数据库建order,group表时的错误
  7. 零代码、不花钱就能做大屏,这个报表工具帮了大忙
  8. Beta 分布的应用
  9. 听说你在学Python?来点PEP吧
  10. PHP连接MySQL数据库过程
  11. SUSE LINUX 10.1如何ADSL上网指南(转)
  12. 根据url生成二维码,扫描打开url的两种方法编辑器
  13. 看这,苹果手机怎么录音的3个方法!
  14. 网站规划通识:原型图绘制的一些注意事项
  15. Unity3d--GUI自适应矩阵(通过Matrix4x4.SetTRS)
  16. 6313网址大全恶意修注册表问题
  17. 作为中台建设者,如何与前台协同呢?
  18. 2022.07.19 MySQL唯一索引
  19. 连接校园网的路由器为啥老是服务器没响应,校园网路由器不能使用怎么办?
  20. Re-ID: Person Re-identification by Local Maximal Occurrence Representation and Metric Learning 论文解析

热门文章

  1. 值得收藏 | 关于机器学习,这可能是目前最全面最无痛的入门路径和资源!
  2. BLDC无刷直流电机
  3. 微信企业号开发-如何建立连接
  4. 软件构造设计模式III(转载整合)
  5. MC9S12 硬件设计
  6. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-TwinCAT自带的找原点功能块MC_Home怎么用
  7. 使用ZedGraph记录(原创)
  8. 重新认识融云,「不止即时通讯」
  9. VMware WorKstation虚拟机上 Linux 6最小化安装和基本网络环境配置
  10. Unity导入图片尺寸大小和压缩格式的问题