我正试图创建一个日期,是从现在几年后。我是这样做的:
new Date(Math.abs(System.currentTimeMillis() - 94670778000L));
但是由于某种原因,日期的年份部分变成了一个随机的未知数字,导致jvm抛出
MysqlDataTruncation
例外。这是完整的信息:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '55106056-02-25 05:40:34.461' for column 'lastSeenOnline' at row 1
根据Serhii在这里的帖子:
Data truncation: Incorrect datetime value: ''
我应该把@temporal注释从
TemporalType.TIMESTAMP
到
TemporalType.TIME
. 这确实有帮助,但只是因为日期部分被省略了,所以这不是我要寻找的解决方案。
有人能告诉我我做错了什么吗?我只是通过毫秒构造函数初始化一个新的日期,它应该可以工作,但由于某种原因它不能。