在MySQL表中存储毫秒(使用Java存储/检索)

在MySQL表中存储毫秒(使用Java存储/检索),java,mysql,time,Java,Mysql,Time,我正在使用以下Java代码: Calendar lCDateTime = Calendar.getInstance(); date = lCDateTime.getTimeInMillis(); 它给我毫秒的时间。我需要把它放在MySQL表中,然后检索相同的信息;这可能吗?或者,由于MySQL的限制,我应该使用不同的方法吗?我会使用无符号BigInteger来获得最大精度,尽管有符号BigInteger可能不够 BigInteger unsigned的最大值为1844674407370

我正在使用以下Java代码:

Calendar lCDateTime = Calendar.getInstance();
    date = lCDateTime.getTimeInMillis();

它给我毫秒的时间。我需要把它放在MySQL表中,然后检索相同的信息;这可能吗?或者,由于MySQL的限制,我应该使用不同的方法吗?

我会使用无符号BigInteger来获得最大精度,尽管有符号BigInteger可能不够

BigInteger unsigned的最大值为18446744073709551615,这在未来还有很长的路要走!(超过31000广告!)这对你来说应该足够大了…;)

目前,自1970年以来的ms大约为134670551800,因此您有足够的空间玩

指向MySql的整数值的链接


我认为最好将此映射到Java中的long-in-store。Long的最大值为9223372036854775807,这也是一个漫长的未来

我不熟悉java;如果它是一个浮点值,那么可能是双精度的?它显然是一个很长的值,所以你当然可以存储它。但是,如果您需要传递它以在其他系统上进行转换,则epoch date可能会有所不同。将其存储为字符串是否有问题?它的效率(存储、比较、排序等)要低得多,而且更难创建索引。当我指的是“字符串”时,我应该说“varchar”。我想你知道我的意思。所以我应该在MySQL中使用BigInterger,在Java中使用Long——这是存储和排序的最有效方法。