数据库存储日期格式时,如何考虑时区转换问题

 时间:2024-10-12 12:11:26

1、首先从数据库取数据的过程,数据库的时间字段starts存的是datetime类型,它是一个和时区相关的string(显然:string都是和时区相关的),而且数据库是按照CST时区存的时间。

数据库存储日期格式时,如何考虑时区转换问题

2、程序中从数据库取数据用的sql语句:这里只是简单的用DATE_FORMAT函数把datetime类型的starts字段转换为我们需要的格式 %Y%m%d%H%i%S 而已。

数据库存储日期格式时,如何考虑时区转换问题

3、然后看这样一段转换时间的java代码:

数据库存储日期格式时,如何考虑时区转换问题

4、计算结果如下图所示:

数据库存储日期格式时,如何考虑时区转换问题

5、而正因为其与时区的无关性,才使得我们的存储数据(时间)是一致的(时区一致性)。  一般的我尺攵跋赈们将now存储于数据库中,当我们需要展现数据时,将now格式化成想要的格式,如:2011-12-04 21:22:24  而这个功能一般交由java.text.DateFormat来实现。例如:

数据库存储日期格式时,如何考虑时区转换问题

6、我们葛激握颟发现snow是带时间(如2011-12-04 21:22:24)的字符串,那么 2011-12-04 21:22:24 这个时间是哪个时区的时间呢?  默认情况下,SimpleDateFormat 取得本地系统的时区(我的时区为GMT+8北京),然后按照 pattern("yyyy-MM-dd HH:mm:ss")格式化now,  此时输出的就是 GMT+8 区的时间了。如果想支持国际化时间,则先指定时区,然后再格式化date数据。例如:

数据库存储日期格式时,如何考虑时区转换问题

7、另外,你可以通过如下代码修改本地时区信息:

数据库存储日期格式时,如何考虑时区转换问题
  • 艾尔登法环铁棘大盾怎么获得
  • 艾尔登法环黑剑的追忆怎么获得
  • 艾尔登法环湖之利耶尼亚篝火点位置图(上)
  • 艾尔登法环祖灵之王在哪
  • 艾尔登法环魔法辉剑在哪学习
  • 热门搜索
    反对邪教手抄报内容 反对邪教崇尚科学手抄报 奥运会手抄报内容 建军节手抄报内容 金秋十月手抄报 以环保为主题的手抄报 有关中秋节的手抄报 传染病防控手抄报 缅怀先烈手抄报资料 弟子规手抄报图片