加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL保存时间信息上的简易方法

发布时间:2023-10-18 15:42:28 所属栏目:MySql教程 来源:
导读:本文主要给大家介绍MySQL保存时间信息上的简单方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL保存时间信息上的简单方法吧。

解决方案参考
本文主要给大家介绍MySQL保存时间信息上的简单方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL保存时间信息上的简单方法吧。
 
解决方案参考如下,即在SimpleDateFormat对象基础上需要明确当前需要使用的时区是什么。
 
SimpleDateFormat.setTimeZone(TimeZone);
 
// Java:
 
long timeMs = System.currentTimeMillis();
 
System.out.println("long = " + timeMs);
 
// current time zone
 
SimpleDateFormat default = new SimpleDateFormat("yyyy-MM-dd HH:mm");
 
System.out.println(default.format(timeMs));
 
// +8:00 time zone
 
SimpleDateFormat chinaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
 
chinaFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
 
System.out.println("GMT+8:00 = " + chinaFormat.format(timeMs));
 
// +5:30 time zone
 
SimpleDateFormat indiaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
 
indiaFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30"));
 
System.out.println("GMT+5:30 = " + indiaFormat.format(timeMs));
 
复制代码
 
使用如上方法其实就可以解决时区问题,由于我当时获取统计数据是通过小时表获取的且小时表是一小时一条记录。而印度时区为GMT+5:30,在当前表结构的基础上会存在半小时数据偏差的问题,因此为了解决该问题我们修改小时表的统计粒度为半小时。
 
总结:
 
该博客只是简单的说出重点的解决时区的方案,在使用该方案的前提是数据库中存储的是国际时间戳!!!
 
只有基于绝对时间戳的时间存储,从根本上就没有时区的问题!!!时区只是一个显示问题!!!
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章