详解Jvm中时区设置方式

 更新时间:2020年09月09日 11:06:49   作者:淼叔  
这篇文章主要介绍了详解Jvm中时区设置方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

这篇文章memo一下Jvm中关于时区设定的基础操作。

Java的时区设定

这里列出如下三种方式

方式 说明
TimeZone.setDefault方式 通过java的utils下的TimeZone进行动态设定
user.timezone传递方式 运行时通过传递-Duser.timezone=xxx进行设定
TZ环境变量方式 通过export的TZ环境变量进行设定

TimeZone.setDefault方式

Sample代码如下:

sh-4.2# cat TestTimeZone.java
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

public class TestTimeZone {
 public static void main(String[] args) {
 System.out.println(TimeZone.getDefault()); 
 SimpleDateFormat dfOld = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 System.out.println(dfOld.format(new Date()));

 //final TimeZone timeZone = TimeZone.getTimeZone("GMT+8");
 final TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
 TimeZone.setDefault(timeZone);
 System.out.println(TimeZone.getDefault()); 
 SimpleDateFormat dfNew = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 System.out.println(dfNew.format(new Date()));

 }
}
sh-4.2# 

结果确认

sh-4.2# unset TZ
sh-4.2# java TestTimeZone
sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
2018-08-08 00:02:05
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2018-08-08 08:02:05
sh-4.2#

user.timezone传递方式

同样的代码,不同之处在与运行态改变状态,适用场景为不需改变代码,与前一种方式一样,只要系统状态OK,此处即OK

sh-4.2# unset TZ
sh-4.2# java -Duser.timezone=Asia/Shanghai TestTimeZone
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2018-08-08 08:03:25
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2018-08-08 08:03:25
sh-4.2# 

TZ环境变量方式

同样的代码,适用场景为不需改变代码,与前一种方式一样,只要系统状态OK,此处即OK

sh-4.2# export TZ=Asia/Shanghai
sh-4.2# java TestTimeZone
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2018-08-08 08:04:02
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2018-08-08 08:04:02
sh-4.2# 1

到此这篇关于详解Jvm中时区设置方式的文章就介绍到这了,更多相关Jvm 时区设置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot种如何使用 EasyExcel 实现自定义表头导出并实现数据格式化转换

    SpringBoot种如何使用 EasyExcel 实现自定义表头导出并实现数据格式化转换

    本文详细介绍了如何使用EasyExcel工具类实现自定义表头导出,并实现数据格式化转换与添加下拉框操作,通过示例和代码,展示了如何处理不同数据结构和注解,确保数据在导出时能够正确显示和格式化,此外,还介绍了如何解决特定数据类型的转换问题,并提供了解决方案
    2024-11-11
  • SSH框架的常见问题和解决方法

    SSH框架的常见问题和解决方法

    SSH框架的常见问题和解决方法,需要的朋友可以参考一下
    2013-02-02
  • spring boot如何加入mail邮件支持

    spring boot如何加入mail邮件支持

    这篇文章主要介绍了spring boot如何加入mail邮件支持,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java线程同步的四种方式详解

    Java线程同步的四种方式详解

    这篇文章主要介绍了Java线程同步的四种方式详解,需要的朋友可以参考下
    2023-02-02
  • Java关于重排链表详细解析

    Java关于重排链表详细解析

    在我们平时的代码过程中,链表是我们经常遇到的一个数据结构,面试题中链表占很大一部分,可见链表操作是非常重要的。本篇文章我们来探究一下如何进行重排链表
    2022-01-01
  • spring data jpa如何使用自定义repository实现类

    spring data jpa如何使用自定义repository实现类

    这篇文章主要介绍了spring data jpa如何使用自定义repository实现类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java接口测试Cookie与token原理解析

    Java接口测试Cookie与token原理解析

    这篇文章主要介绍了Java接口测试Cookie与token原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java特性之注解和异常 Throwable

    Java特性之注解和异常 Throwable

    这篇文章主要介绍了Java特性之注解和异常,注解是JDK1.5版本开始引入的一个特性,Throwable是Java语言中所有错误与异常的超类,文章围绕主题展开更多的相关介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Java 数据结构七大排序使用分析

    Java 数据结构七大排序使用分析

    这篇文章主要介绍了Java常用的排序算法及代码实现,在Java开发中,对排序的应用需要熟练的掌握,这样才能够确保Java学习时候能够有扎实的基础能力。那Java有哪些排序算法呢?本文小编就来详细说说Java常见的排序算法,需要的朋友可以参考一下
    2022-04-04
  • Jmeter中正则表达式提取器使用详解

    Jmeter中正则表达式提取器使用详解

    本文主要介绍了Jmeter中正则表达式提取器使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论