目录
java.sql.Timestamp丢失精度需要重新补偿java.sql.Timestamp类的使用1. 获取当前时间2.String类型转换为Timestamp3.Timestamp转换为String类型
java.sql.Timestamp丢失精度
Timestamp的构造函数Timestamp(long time) 会丢失纳秒部分的精度
需要重新补偿
Timestamp t1 = Timestamp.valueOf("2019-12-13 15:19:53.2202080"); Timestamp t2 = new Timestamp(1576250393220208000L / 1000000L); t2.setNanos((int) (1576250393220208000L % 1000000000L));
java.sql.Timestamp类的使用
Timestamp 可以精确到小数秒 一般存储的格式:2016-12-18 11:05:36.531
Timestamp 可以获取当前时间,也可以把字符串装换成Timestamp类型
1. 获取当前时间
@Test public void getCurrentTime(){ //第一种 Date date = new Date(); Timestamp currentTime1 = new Timestamp(date.getTime()); System.out.println("currentTime1:"+currentTime1); //第二种 Timestamp currentTime2 = new Timestamp(System.currentTimeMillis()); System.out.println("currentTime2:"+currentTime2); }
2.String类型转换为Timestamp
@Test public void stringConvertTimestamp(){ String timeStr = "2016-12-18 11:16:33.706"; Timestamp ts = Timestamp.valueOf(timeStr); System.out.println(ts); }
3.Timestamp转换为String类型
@Test public void timestampConvertString(){ SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); Timestamp currentTime = new Timestamp(System.currentTimeMillis()); String timeStr = sdf.format(currentTime); System.out.println(timeStr); }
整个演示类的代码:
package com.demo; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; import org.junit.Test; public class DemoTimestamp { @Test public void getCurrentTime(){ //第一种 Date date = new Date(); Timestamp currentTime1 = new Timestamp(date.getTime()); System.out.println("currentTime1:"+currentTime1); //第二种 Timestamp currentTime2 = new Timestamp(System.currentTimeMillis()); System.out.println("currentTime2:"+currentTime2); } @Test public void stringConvertTimestamp(){ String timeStr = "2016-12-18 11:16:33.706"; Timestamp ts = Timestamp.valueOf(timeStr); System.out.println(ts); } @Test public void timestampConvertString(){ SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); Timestamp currentTime = new Timestamp(System.currentTimeMillis()); String timeStr = sdf.format(currentTime); System.out.println(timeStr); } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持免费资源网。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)