DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(new Date(1285813236)));
显示1970-01-16 05:10:13是错误的
在mysql中SELECt FROM_UNIXTIME(1285813236);
显示2010-09-30 10:20:36是正确的
奇怪了,java中应该怎么转换才对呢?
Timestamp转换不正确
答案:2 悬赏:60 手机版
解决时间 2021-03-02 09:46
- 提问者网友:温柔港
- 2021-03-01 14:46
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-03-01 16:25
mysql的UNIXTIME returns a Unix timestamp (seconds since '1970-01-01 00:00:00' UTC) as an unsigned integer. 即返回从1970-01-01以来的“秒数”
java的time() Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
即返回从1970-01-01依赖的“毫秒数”
差1000倍,所以,你试试看System.out.println(df.format(1285813236000L));
就一样了
java的time() Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
即返回从1970-01-01依赖的“毫秒数”
差1000倍,所以,你试试看System.out.println(df.format(1285813236000L));
就一样了
全部回答
- 1楼网友:几近狂妄
- 2021-03-01 17:46
如果你是用的hibernate等对象化操作,建议你可以将string类型的日期字符串通过以下形式转换,
simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm");
date date = sdf.parse(param);
timestamp ts=new timestamp(date.gettime());
如果直接用sql语句就不需要这么转换了,可以通过数据库函数substring()去掉时间,保留日期来查询,不知说清楚没有
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯