代码小结:时区的时间问题
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.TimeZone;public class TimeZoneAndDate {/*** 如果虚拟机中得到的时间与机器的时间不同,那么基本上就是因为时区设置的原因。* 当前默认的时区不为当地的时区就会出现时间偏差,这时我们可以更改默认时区,更改之后获得的时间就都为你所设置的时区的时间了。* 注意:更改默认时区后的改变是全局的,也就是说只要当前服务没有关闭(比如:在web项目中服务器没关闭),以后获得的时间都会是之前设置的默认时区下的时间。*/public static void fun1(){System.out.println("当前默认的时区:"+TimeZone.getDefault());System.out.println("默认时区下的当前时间:"+new Date());// 更改当前时区为东八区GMT+8,即北京时间。TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));System.out.println("更改后的时区:"+TimeZone.getDefault());System.out.println("更改时区后的当前时间:"+new Date());/** 以下为2012-12-22日的测试结果 */ // 当前默认的时区:sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] // 默认时区下的当前时间:Sat Dec 22 07:16:17 GMT 2012 // 更改后的时区:sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] // 更改时区后的当前时间:Sat Dec 22 15:16:17 GMT+08:00 2012 }/*** 如果我们虚拟机的时区是正确的,但客户端可能不都在一个时区(比如一些跨国项目),我们中国也是横跨5个时区的,* 这种情况下我们就需要将当前时区下的时间转化成其他时区下的时间,这时我们不能使用全局的时区设置,而只能局部转化。*/public static void fun2(){Date date = new Date();SimpleDateFormat sdf8 = new SimpleDateFormat();sdf8.setTimeZone(TimeZone.getTimeZone("GMT+8"));//东八区,北京时间SimpleDateFormat sdf9 = new SimpleDateFormat();sdf9.setTimeZone(TimeZone.getTimeZone("GMT+9"));//东九区,日本时间 System.out.println(TimeZone.getDefault().getID()+"默认时区:"+date);System.out.println(sdf8.getTimeZone().getID()+"时区:"+sdf8.format(date));System.out.println(sdf9.getTimeZone().getID()+"时区:"+sdf9.format(date));/** 以下为2012-12-22的测试结果 。* 前后显示时间的格式不同,SimpleDateFormat使用的是系统默认的格式。* 我们也可以进行更改,如:new SimpleDateFormat("yyyy-MM-dd HH-mm-ss")* 补充:SimpleDateFormat还可以设置Locale。Locale主要还是与语言、文字有关,用于设置国际化 */ // GMT默认时区:Sat Dec 22 07:37:53 GMT 2012 // GMT+08:00时区:12-12-22 下午3:37 // GMT+09:00时区:12-12-22 下午4:37 }public static void main(String[] args){// TODO Auto-generated method stub // fun1(); fun2();}}
代码小结:时区的时间问题相关推荐
- NSDate获取当前时区的时间
[NSDate date]获取的是GMT时间,要想获得某个时区的时间,以下代码可以解决这个问题 NSDate *date = [NSDate date]; NSTimeZone *zone = [NS ...
- Java黑皮书课后题第2章:*2.8(当前时间)程序清单2-7给出了显示当前格林尼治时间的程序。修改这个程序,提示用户输入相对于GMT的时区偏移量,显示在这个特定时区的时间
*2.8(当前时间)程序清单2-7给出了显示当前格林尼治时间的程序.修改这个程序,提示用户输入相对于GMT的时区偏移量,显示在这个特定时区的时间 题目 题目描述 运行示例 程序清单2-7(非本题代码) ...
- python之获取标准时区的时间元组
代码: time_tuple = (time.gmtime()) # 获取标准时区的时间元组 str_tm_year = (str(time_tuple[0]))[2:4] str_tm_mon = ...
- c# 不同时区的时间的转换
我们公司的产品,主要面向欧美地区的客户,所以经常涉及到根据时区切换时间的问题.所以花点时间研究这块问题. 前提:数据库时间字段(datetime),入库时最好选择UTC时间.方便后期根据不同地区的客户 ...
- js设置北京时区_如何使不同时区的时间与京8区一致?(JS实现)
如何使不同时区的时间与京8区一致?(JS实现) Update:2019/1/28 更简单的是使用这个函数(toDate): // 自定义日期格式如下(年月日都必须提供): // "2011- ...
- 【Linux基础】Linux中的时区和时间
基本概念 首先介绍Linux中会用到的时间概念: UTC:Universal Time Coordinated,协调世界时,又称世界统一时间,世界标准时间,国际协调时间.它是一个与时区相关的时间,目前 ...
- java_时区与时间问题总结
最近在编程中遇到了时间与时区相关的问题,整理在这里 我的程序是一个在hadoop上运行的分布式程序,从mysql数据库中取数据,经过处理之后输出 一. 基本概念 时区 :time zone 1884年 ...
- linux时间变成英文,查看/修改Linux时区和时间
一.时区 1. 查看当前时区 date -R 2. 修改设置时区 方法(1) tzselect 方法(2) 仅限于RedHat Linux 和 CentOS timeconfig 方法(3) 适用于D ...
- Java处理时间/时区/普通时间与时间戳的转换
将时间转换为时间戳: /* * 将时间转换为时间戳*/ public static String dateToStamp(String s) throws ParseException{String ...
最新文章
- 聊聊flink的TimeCharacteristic
- 如何才能正确的关闭Socket连接
- 用Tableau画改进版幂函数柱状图
- 一步步实现一个基本的缓存模块
- 利用opencv添加mask
- vue父组件变量传递子组件_Vue.js 父组件向子组件传递数据通过 props
- ssms排序代码_SSMS中的代码片段概述
- 图像处理随笔——颜色空间
- Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明
- 16进制颜色与UIColor互转
- Oracle数据库:下载与安装图解
- Qt音视频开发41-人脸识别嵌入式
- Ubuntu系统安装ghostscript seq2logo
- SAP+条码系统软件是如何优化仓库库存管理?
- 如何用matlab求解多变量非线性回归,matlab多元非线性回归教程
- 万物皆可DAO?一文带你全方位解读DAO类型
- Test failed due to unrecognized service account for this product, please submit initial report for t
- 你有什么经验一定要分享给初入职场的新人?
- 大数据早报:阿里巴巴收购以色列创业公司 迅雷再次回应玩客云用户维权事件(12.1)
- Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)...