java时间处理
来源:互联网 发布:android源码 编辑:程序博客网 时间:2024/05/22 04:26
实际上,操作系统内部的计时器也是这个标准的时间戳,只有在显示给用户的时候,才转换为字符串格式的本地时间。
基于“数据的存储和显示相分离”的设计原则,我们只要把表示绝对时间的时间戳(无论是Long型还是Float)存入数据库,在显示的时候根据用户设置的时区格式化为正确的字符串。
数据的存储和显示相分离是非常基本的设计原则,却常常被大多数开发人员忽略。举个例子,在Excel中编写一个表格,表格的数据可视为数据的存储格式,你可以把表格的数据以柱状图或饼图表示出来,这些不同的图表是数据的不同显示格式,存储数据的时候,我们应该存储表格数据,绝不应该存储柱状图等图片信息。
HTML和CSS也是数据的存储和显示相分离的设计思想。
所以,数据库存储时间和日期时,只需要把Long或者Float表示的时间戳存到BIGINT
或REAL
类型的列中,完全不用管数据库自己提供的DATETIME
或TIMESTAMP
,也不用担心应用服务器和数据库服务器的时区设置问题,遇到Oracle数据库你不必去理会with timezone
和with local timezone
到底有啥区别。
读取时间时,读到的是一个Long或Float,只需要按照用户的时区格式化为字符串就能正确地显示出来:
基于绝对时间戳的时间存储,从根本上就没有时区的问题。时区只是一个显示问题。额外获得的好处还包括:
两个时间的比较就是数值的比较,根本不涉及时区问题,极其简单;
时间的筛选也是两个数值之间筛选,写出SQL就是
between(?, ?)
;显示时间时,把Long或Float传到页面,无论用服务端脚本还是用JavaScript都能简单而正确地显示时间。
你唯一需要编写的两个辅助函数就是String->Long
和Long->String
。String->Long
的作用是把用户输入的时间字符串按照用户指定时区转换成Long存进数据库。
1413266801750
之类的数字。- Java的时间处理
- Java日期时间处理
- java中的时间处理
- Java的时间处理
- JAVA时间格式化处理
- JAVA 处理数据库时间
- Java处理时间格式化
- JAVA中的时间处理
- java时间处理
- Java日期时间处理
- Java的时间处理
- java日期时间处理
- java时间的处理
- java 时间处理类
- java时间操作处理
- java中的时间处理
- JAVA时间格式处理
- Java时间处理
- .NET2.0程序 在.net 4.0 中运行的解决方案
- FZU 1759 Super A^B mod C(数论)
- 腾讯云安装wordpress
- android------bootAnimation
- HDOJ 1232畅通工程
- java时间处理
- android 实现发送短信功能
- Linux 密码验证
- ArrayList之三种迭代方法
- HTML滚动文字代码 marquee标签
- Java包装类(Wrapper)、基本数据类型、String类之间的转换
- 树(理论篇)
- 二分查找(C语言)
- linux百度云工具baidu pcs