详解Jvm中时区设置方式
作者:淼叔 发布时间:2023-12-09 02:59:19
标签: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
来源:https://blog.csdn.net/liumiaocn/article/details/81501416
0
投稿
猜你喜欢
- 前言当你编写一个应用时,你通常都会希望用户能够定制化他们和应用交互的方式,以及应用与系统进行交互的方式。这种方式通常被称为 &ldq
- 通过主菜单对各级子菜单进行控制,并实现添加记录,查找记录,删除记录,修改记录,排序记录,以及退出系统功能的实现。一共六部分的功能模块。 上面
- Spring Boot+Vue 前后端分离项目架构项目流程:1. SpringBoot 后端项目1、新建一个 SpringBoot 工程,并
- 题目要求思路一:双指针(模拟)Javaclass Solution { public boolean isFlip
- Spring内置 * 对于 Web 应用来说,ServletContext 对象是唯一的,一个 Web 应用,只有一个ServletCont
- 代码如下所示:package com.hoo.util; import java.awt.Color; import
- String类原生的字符串处理方法short s=1;s=s+1;与short s=1;s+=1;的区别一、“+&
- 在学会了java中io流的使用后,我们对于数组的排序,又多了一种使用方法。大家知道流处理数据的效率是比较理想的,那么在具体操作数组排序上,很
- 本文实例讲述了Java编程调用微信接口实现图文信息等推送功能。分享给大家供大家参考,具体如下:Java调用微信接口工具类,包含素材上传、获取
- MyBatis-plus模糊查询在使用MyBatis-plus的时候,一些基础的增删改查可以不用再自己写sql了:public interf
- 1,compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,当需要对某个类的对象
- spring.activemq.pool.enabled=false时,每发送一条数据都需要创建一个连接,这样会出现频繁创建和销毁连接的场景
- 一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,
- 数组是一种数据结构,其声明方式如下:type[] arrayName;数组具有以下属性: 1.数组可以是
- Mybatis防止sql注入原理SQL 注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL 语句 * 入到执行的实体字段中(例如,为
- 本文实例为大家分享了java通过PDF模板填写PDF表单的具体代码,包括图片,供大家参考,具体内容如下需要用到的java包: it
- 图片象对:经过理处过的jpg格式的位图(头像照片) 算
- 在前面一篇Java Comparable和Comparator对比详解中,对于java中的排序方法进行比较和具体剖析,主要是针对 Compa
- 首先是获取特定进程对象,可以使用Process.GetProcesses()方法来获取系统中运行的所有进程,或者使用Process.GetC
- json格式的字符串与对象的互相转换Jackson 简介Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转