Dax*_*xon 1 java datetime jodatime java-7 jsr310
我希望能够在Java中更改1970年到2008年的基本毫秒参考,这样我就可以节省数据库中的空间和唯一的ID.
最好是Joda-Time.
所谓的Java 7版本中即将推出的jsr-310实现了它.
在此链接的"离散时间轴"部分中,它指出毫秒的计数已从1970年改为2008年
http://today.java.net/pub/a/today/2008/09/18/jsr-310-new-java-date-time-api.html
我能看到的唯一其他选项是每次需要查找记录时以数学方式实现它.
例如
DateTime dt = new DateTime();
long now = dt.getMillis();
DateTime dt2 = new DateTime(2008, 1, 1, 0, 0, 0, 0);
long then = dt2.getMillis();
long smallerDate = now - then;
Run Code Online (Sandbox Code Playgroud)
较小的日期将存储在DB中
- 编辑 -
所以我误读了JSR-310,这是不可能的.
有更好的方法来节省空间,然后处理成千上万的请求计算多头的头痛.
我想将长记录为日期,因为我永远不会知道将数据库移动到哪里,也许MySQL => Oracle.
所以我不想要时间戳,我只想要BigInts.
不,你不能,如果可以,那将是一个坏主意.无论数字有多大,数据库中的每个时间戳都将使用相同的空间.(假设您将数字存储为数字而不是字符串或其他内容.)
现在,如果你真的想要这个,你必须自己写.即,在将它们放入数据库之前从时间戳中减去时间,并在将它们退回时将时间添加到时间戳.但这是在寻求维护问题.(实际上,使用时间戳而不是数据库的本机DATETIME数据类型会产生问题.)
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |