解決java.sql.Timestamp丟失精度的問題
更新時間:2021年09月10日 11:51:43 作者:天已青色等煙雨來
這篇文章主要介紹了解決java.sql.Timestamp丟失精度的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
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); } }
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java ConcurrentModificationException異常解決案例詳解
這篇文章主要介紹了Java ConcurrentModificationException異常解決案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-09-09SpringCloud Eureka實現服務注冊與發(fā)現
Eureka是一種基于REST(具像狀態(tài)傳輸)的服務,主要用于AWS云中定位服務,以實現中間層服務器的負載平衡和故障轉移。本文記錄一個簡單的服務注冊與發(fā)現實例。感興趣的小伙伴們可以參考一下2019-01-01Spring Security其它權限校驗方式&自定義權限校驗方式
這篇文章主要介紹了Spring Security其它權限校驗方式&自定義權限校驗方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08