java date类型的数据怎么能显示到毫秒?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java date类型的数据怎么能显示到毫秒?相关的知识,希望对你有一定的参考价值。
我有个date 类型的属性(private Date aa),现在要往aa中赋值,放入当前系统时间,但要求要放入到毫秒级别的啊!
比如以下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ms");
Date aa= sdf.parse(sdf.format((new Date())));
String bb = sdf.format(new Date());
System.out.println(aa);
System.out.println(bb);
--------------------------------------
输出后:
aa:Thu Apr 24 15:02:36 CST 2014
bb:2014-04-24 15:19:06 196
我想要的是bb这种值的,求各位大神帮忙啊!
需要转成date的时候, Date date = new Date(value); 参考技术B 使用java.sql包下的Timestamp(参数) 参数是时间戳 就可以显示到毫秒 参考技术C 呵呵,其实你把aaSET进去然后存放在数据库中显示的就是bb。追问
这个我也试了下,发现存到数据库后,只能显示到秒,例如:2014-04-24 15:32:29
我用的数据库是mysql 字段的属性是timestamp(也试过把数据库的属性改为date 和 datetime),结果还是只能存到秒
我百度看了下,貌似mysql无论是timestamp或者其他都不能存毫秒;
可能要变通一下,如果你需要按时间排序就只能把毫秒单独截取出来然后数据库单独为毫秒加一个字段,如果数据库不需要按时间排序可以把数据库类型设为varchar类型。
我是百度科普了一下,可以借鉴一下。希望对你有所帮助!
按照你说的,改为大写后,输出结果为下:
aa:Thu Apr 24 15:32:29 CST 2014
bb:2014-04-24 15:32:29 547
好像没怎么改变啊
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
Date date = new Date();
System.out.println(sdf.format(date));
sdf.format(date),就是我上面说的那个bb啊,是String类型的,无法往我Date类型的字段放入的
Java new Date()存在毫秒问题
new Date()与new Timestamp()输出对比
由于我的后台的时间格式:yyyy-MM-dd HH:mm:ss,所以上传的数据会忽略毫秒,但当初我不知道new Date()会毫秒上的误差,毕竟单纯地输出new Date() 会显示Sun Jan 12 12:02:56 CST 2020,看不出区别。
但当我们getTime()的时候,会发现它是记录毫秒的
new Date() ---------------------------- Sun Jan 12 12:02:56 CST 2020
new Timestamp(System.currentTimeMillis()) -- 2020-01-12 12:02:56.339
new Date().getTime() --------------------------------- 1578801776339
new Timestamp(System.currentTimeMillis()).getTime() -- 1578801776339
如果本地数据不做处理的话,会与本地数据发生冲突,除非你在上传数据后再获取数据,保持本地数据与服务器数据相同。
Timestamp.valueof()忽略毫秒
通过获取格式化Date为yyyy-MM-dd HH:mm:ss实现
/**
* 输出如下
* nowDateTime() --------------------------- 2020-01-12 12:02:56.0
* nowDateTime().getTime() ------------------------- 1578801776000
*/
public static Date nowDateTime(){
return Timestamp.valueOf(
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.SIMPLIFIED_CHINESE).format(new Date())
);
}
以上是关于java date类型的数据怎么能显示到毫秒?的主要内容,如果未能解决你的问题,请参考以下文章
Java获取系统时间Date类型转换String类型保存到mysql数据库varchar精确到毫秒需要多少位