详解Jvm中时区设置方式
作者:淼叔 时间:2023-12-09 02:59:19
这篇文章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
来源:https://blog.csdn.net/liumiaocn/article/details/81501416
标签:Jvm,时区
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java实现批量向mysql写入数据的方法
2023-11-05 20:51:21
mybatis初始化SqlSessionFactory失败的几个原因分析
2021-06-17 11:13:44
![](https://img.aspxhome.com/file/2023/3/62083_0s.png)
详解Java类库的概念以及import的使用方法
2022-04-18 06:56:54
![](https://img.aspxhome.com/file/2023/4/62774_0s.png)
java编程下字符串的16位,32位md5加密实现方法
2023-07-29 21:34:28
C#索引属性用法实例分析
2023-02-02 14:15:19
Android 获得View宽高的几种方式总结
2021-11-12 05:06:49
![](https://img.aspxhome.com/file/2023/6/101846_0s.png)
WPF实现控件拖动的示例代码
2023-04-01 09:36:15
android TextView设置中文字体加粗实现方法
2023-08-06 02:32:03
解析Silverlight调用WCF/Rest异常的解决方法
2021-08-19 07:41:37
![](https://img.aspxhome.com/file/2023/9/96419_0s.png)
C#无损高质量压缩图片实现代码
2021-10-18 06:23:29
![](https://img.aspxhome.com/file/2023/4/104374_0s.jpg)
java判断字符串相等的方法
2023-05-19 14:08:30
Java设计模式之访问者模式
2023-04-17 20:00:15
![](https://img.aspxhome.com/file/2023/5/60135_0s.png)
基于Java代码操作Redis过程详解
2022-03-28 06:53:58
![](https://img.aspxhome.com/file/2023/9/113259_0s.jpg)
Spring深入探索AOP切面编程
2023-05-27 09:37:16
![](https://img.aspxhome.com/file/2023/6/78056_0s.png)
WinForm中实现picturebox自适应图片大小的方法
2022-09-07 21:14:01
Java并发的CAS原理与ABA问题的讲解
2023-11-25 12:17:21
![](https://img.aspxhome.com/file/2023/7/59987_0s.png)
Android学习之AppWidget笔记分享
2022-04-10 21:25:46
![](https://img.aspxhome.com/file/2023/0/123320_0s.png)
如何用Dos命令运行Java版HelloWorld你知道吗
2022-07-24 22:32:26
![](https://img.aspxhome.com/file/2023/2/125592_0s.jpg)
Java中垃圾回收器GC对吞吐量的影响测试
2022-12-16 12:15:53
教你如何使用Java输出各种形状
2023-08-21 00:46:55