最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java java.sql.Timestamp時間戳案例詳解

 更新時間:2021年08月26日 10:53:16   作者:javaPie  
這篇文章主要介紹了Java java.sql.Timestamp時間戳案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

java.sql.Timestamp(時間戳)

繼承父類:java.util.Date

所有已實現(xiàn)的接口:Serializable, Cloneable, Comparable<Date> 

主要構(gòu)造方法:Timestamp(long millis) 使用毫秒時間值構(gòu)造 Timestamp 對象。

Timestamp允許 JDBC API 將該類標識為 SQL TIMESTAMP 值。它通過允許小數(shù)秒到納秒級精度的規(guī)范來添加保存 SQLTIMESTAMP 小數(shù)秒值的能力。

Timestamp 也提供支持時間戳值的 JDBC 轉(zhuǎn)義語法的格式化和解析操作的能力,主要用于寫一些與數(shù)據(jù)庫連接時的日期處理。

例如:

在 ResultSet中我們經(jīng)常使用的setDate或getDate的數(shù)據(jù)類型是java.sql.Date,而在平時java程序中我們一般習慣使用 java.util.Date。

但是java.sql.Date 只存儲日期數(shù)據(jù)不存儲時間數(shù)據(jù) ,這種符合規(guī)范的類型其實并沒有把時分秒存進數(shù)據(jù)庫,所以存取時就應(yīng)該用Timestamp的setTimestamp()和

getTimestamp()。

整理一: String --> Timestamp: 

Timestamp轉(zhuǎn)換為String可以直接.toString(),但有時候顯示時是不需要小數(shù)位后面的毫秒值,需要借助DateFormat在轉(zhuǎn)換為String時重新定義格式。

使用Timestamp的valueOf()方法, 

Timestamp time= new Timestamp(System.currentTimeMillis());//獲取系統(tǒng)當前時間   
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
String timeStr = df.format(time);   
time = Timestamp.valueOf(timeStr);   
System.out.println(time);//2017-05-06 15:54:21.0

整理二: java.util.Date --> Timestamp

方式1: 使用Timestamp的構(gòu)造方法

Date date = new Date();  
Timestamp ts = new Timestamp(date.getTime());

方式2:

注意:父類不能直接向子類轉(zhuǎn)化,需要借助中間的String,并且format的格式要與Timestamp的字符串類型格式相匹配

java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]

Date date = new Date();    
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
String dateStr = sdf.format(date);  
Timestamp ts = Timestamp.valueOf(dateStr); //2017-05-06 15:54:21.0

整理三:

通過構(gòu)造方法創(chuàng)建Timestamp 對象,獲取毫秒值有下面三種方法:

方法1:

System.currentTimeMillis(); 

方法2:

Calendar.getInstance().getTimeInMillis(); 

方法3: 

new Date().getTime();

測試證明:System.currentTimeMillis() 這種方式速度最快

Calendar.getInstance().getTimeInMillis() 這種方式速度最慢,因為Canlendar因為要處理時區(qū)問題會耗費很多的時間。

所以建議多使用第一種方式。

方法摘要 

boolean after(Timestamp ts) 

        指示此 Timestamp 對象是否晚于給定的 Timestamp 對象。 

boolean before(Timestamp ts) 

        指示此 Timestamp 對象是否早于給定的 Timestamp 對象。 

int compareTo(Date o) 

        將此 Timestamp 對象與給定的 Date(必須為 Timestamp 對象)相比較。 

int compareTo(Timestamp ts) 

        將此 Timestamp 對象與給定 Timestamp 對象相比較。 

boolean equals(Object ts) 

        測試此對象是否等于給定的 Timestamp 對象。 

boolean equals(Timestamp ts) 

        測試此 Timestamp 對象是否等于給定的 Timestamp 對象。 

int getNanos() 

        獲取此 Timestamp 對象的 nanos 值。 

long getTime() 

        返回此 Timestamp 對象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以來的毫秒數(shù)。 

void setNanos(int n) 

        將此 Timestamp 對象的 nanos 字段設(shè)置為給定值。 

void setTime(long time) 

        設(shè)置此 Timestamp 對象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的時間點。 

String toString() 

        使用 JDBC 時間戳轉(zhuǎn)義格式編排時間戳。 

static Timestamp valueOf(String s) 

        將使用 JDBC 時間戳轉(zhuǎn)義格式的 String 對象轉(zhuǎn)換為 Timestamp 值。 

實例代碼:

tLotteryAnnouncement.setDateTime(new Timestamp(System.currentTimeMillis()));  
if(StringUtils.isNotBlank(tIsusesKj.getOpenTime())){  
    tLotteryAnnouncement.setOpenTime(Timestamp.valueOf(tIsusesKj.getOpenTime()));  
}else{  
    tLotteryAnnouncement.setOpenTime(new Timestamp(tIsusesKj.getModifyDate().getTime()));  
}

到此這篇關(guān)于Java java.sql.Timestamp時間戳案例詳解的文章就介紹到這了,更多相關(guān)Java java.sql.Timestamp時間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于List、Map、Stream初始化方式

    關(guān)于List、Map、Stream初始化方式

    這篇文章主要介紹了關(guān)于List、Map、Stream初始化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Spring中@RestControllerAdvice注解的使用詳解

    Spring中@RestControllerAdvice注解的使用詳解

    這篇文章主要介紹了Spring中@RestControllerAdvice注解的使用詳解,@RestControllerAdvice是一個組合注解,由@ControllerAdvice、@ResponseBody組成,而@ControllerAdvice繼承了@Component,需要的朋友可以參考下
    2024-01-01
  • Java SpringBoot集成ChatGPT實現(xiàn)AI聊天

    Java SpringBoot集成ChatGPT實現(xiàn)AI聊天

    ChatGPT已經(jīng)組件放開了,現(xiàn)在都可以基于它寫插件了,也許可以用它結(jié)合文字語音開發(fā)一個老人小孩需要的智能的說話陪伴啥的,這篇文章就介紹SpringBoot結(jié)合ChatGPT實現(xiàn)AI聊天感興趣的同學(xué)可以借鑒一下
    2023-04-04
  • mybatis實現(xiàn)對數(shù)據(jù)的增刪查改實例詳解

    mybatis實現(xiàn)對數(shù)據(jù)的增刪查改實例詳解

    這篇文章主要介紹了mybatis實現(xiàn)對數(shù)據(jù)的增刪查改實例詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • Spring Utils工具類常用方法實例

    Spring Utils工具類常用方法實例

    這篇文章主要介紹了Spring Utils工具類常用方法實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-04-04
  • 打印Java程序的線程棧信息方式

    打印Java程序的線程棧信息方式

    這篇文章主要介紹了打印Java程序的線程棧信息方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring Boot中自動化配置的利弊以及解決方法

    Spring Boot中自動化配置的利弊以及解決方法

    這篇文章主要給大家介紹了關(guān)于Spring Boot中自動化配置的利弊以及解決方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Spring Boot具有一定的參考學(xué)習價值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • spring 重復(fù)注解和aop攔截的實現(xiàn)示例

    spring 重復(fù)注解和aop攔截的實現(xiàn)示例

    本文主要介紹了spring 重復(fù)注解和aop攔截的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-08-08
  • Java中數(shù)組的定義和使用教程(二)

    Java中數(shù)組的定義和使用教程(二)

    這篇文章主要給大家介紹了關(guān)于Java中數(shù)組的定義和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-01-01
  • Hibernate實現(xiàn)悲觀鎖和樂觀鎖代碼介紹

    Hibernate實現(xiàn)悲觀鎖和樂觀鎖代碼介紹

    這篇文章主要介紹了Hibernate實現(xiàn)悲觀鎖和樂觀鎖的有關(guān)內(nèi)容,涉及hibernate的隔離機制,以及實現(xiàn)悲觀鎖和樂觀鎖的代碼實現(xiàn),需要的朋友可以了解下。
    2017-09-09

最新評論

济南市| 普宁市| 云霄县| 大荔县| 阜新市| 秀山| 怀安县| 河北区| 永年县| 旬阳县| 丰宁| 吉木萨尔县| 广东省| 和平县| 双鸭山市| 昌平区| 中超| 湘潭县| 卢氏县| 峨山| 蓝田县| 会泽县| 高阳县| 泽库县| 常州市| 黄冈市| 鸡西市| 克拉玛依市| 桃源县| 连云港市| 汶川县| 英超| 元朗区| 五寨县| 惠来县| 蓝田县| 普洱| 栾城县| 泸州市| 普格县| 鲁甸县|