Java Timestamp 屬於 java.util.Date 的瘦包裝器,並允許 JDBC API 將其識別為 SQL TIMESTAMP 類型值。 Timestamp 支援格式化和解析等操作,以協助轉義時間戳值的 JDBC 語法。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
已知此 Java 時間戳記的精確度為:
注意: 時間戳屬於 java.util.Date 類型的組合,並且具有單獨的奈秒值。 java.util.Date 元件中儲存的值是整數秒。 Nano 是獨立的,屬於小數秒。當傳遞一個不屬於java.sql.Timestamp實例的物件時,Timestamp.equals(Object)方法不會傳回true。這是因為 Nanos 組件迄今為止尚不清楚。與 java.util.Date.equals(Object) 方法相比,這導致 Timestamp.equals(Object) 方法不對稱。 hashcode 方法將使用底層 java.util.Date 實現,因此 Nanos 不會包含在計算中。
文法:
Timestamp(long time)
使用毫秒時間值,建構一個時間戳值。
Java中時間戳函數的工作原理:時間戳可以在許多方法中使用,下面詳細解釋其中的一些方法-
顯示目前時間戳物件是否晚於給定物件。
public boolean after(Timestamp tm)
其中tm是Timestamp的值,我們將其與這個Timestamp物件進行比較,該函數傳回一個布林值;如果此時間戳記值較晚則為 true,反之亦然。
顯示目前時間戳物件是否早於給定物件。
public boolean before(Timestamp tm)
其中 tm 是 Timestamp 的值,我們將 Timestamp 物件與此函數進行比較,傳回布林值;如果此時間戳記值之前,則為 true,反之亦然。
這是一個比較函數,用於將給定的 Timestamp 物件與此物件進行比較。
public int compareTo(Timestamp tm)
其中tm 是要與此Timestamp 對象進行比較的對象,當兩個對象相等時,該函數返回0 值;當該對象位於給定對象之前時,為任何小於0 的值;當Timestamp 對象位於給定Timestamp 物件之後時,為大於0 的值。
使用此函數,我們可以檢查兩個給定的 Timestamp 物件是否相等。
public boolean equals(Timestamp tm)
其中 tm 指的是 Timestamp 值,我們必須將它與這個 Timestamp 物件進行比較。此函數傳回布林值;如果值相等則傳回 true,否則傳回 false。
此函數給出從預設日期值 1970 年 1 月 1 日 00:00:00 GMT 開始的總毫秒數,該值由此 Timestamp 物件指示。
public long getTime()
此函數將覆寫 Date 類別的 getTime 函數(如果存在)。它會傳回距離預設日期的毫秒數,如上所示。
此函數用於取得此 Timestamp 物件的 Nanos 值。
public int getNanos()
此函數傳回物件的小數第二個參數。
這用於將 Timestamp 物件變更為 Instant。在這個轉換過程中,會建立一個 Instant,它表示線上的點,與這個 Timestamp 相同。
public Instant toInstant()
此函數重寫了 Date 類別的 toInstant 方法。它會傳回代表時間線上同一點的瞬間。
此函數設定一個 Timestamp 物件來指示 1970 年 1 月 1 日 00:00:00 GMT 之後的時間(以毫秒為單位)。
public void setTime(long time)
此函數重寫了 Date 類別中的 setTime 方法。需輸入參數time,即毫秒數。
此函數用於取得此 Timestamp 物件所代表的自 1970 年 1 月 1 日 00:00:00 GMT 以來的毫秒數。
public long getTime()
此函數傳回自上述預設時間以來的時間(以毫秒為單位)。
此方法將屬於 JDBC 時間戳轉義格式的 String 物件轉換為 Timestamp 值類型。
public static Timestamp valueOf(String str)
An str parameter is the timestamp of format yyyy-[m]m-[d]d hh:mm:ss and the fractional seconds can be ignored. The leading zero given for mm and dd can also be ignored. This function returns its respective Timestamp value. And throws an IllegalArgumentException when the parameter is given is not of the mentioned format.
Below are the examples of Java Timestamp:
Code:
// Java program to demonstrate the // functionalit of getTime() function import java.sql.*; class Demo { public static void main(String args[]) { // Here we are creating 2 timestamp objects Timestamp tm = new Timestamp(2000); // Displaying the created timestamp object System.out.println("The Timestamp time is : " + tm.toString()); System.out.println("The Time in milliseconds is : " + tm.getTime()); } }
Output:
In the above example, we are first creating a timestamp object. Then we are printing out using two different functions toString and getTime to check the output.
Code:
// Below Java code is to showcase the // functionality of getTime() function import java.sql.*; public class Example { public static void main(String args[]) { // Creating 2 timestamp objects Timestamp tm = new Timestamp(-2000); // Display the timestamp object System.out.println("Timestamp time is : " + tm.toString()); System.out.println("Total time in milliseconds : " + tm.getTime()); } }
Output:
In the above example, we are first creating 2 timestamp objects and using the getTime() function to fetch the timestamp object’s time and initialize it to a time before the default time of Jan 1 1970. Hence the negative long value given does the purpose.
As seen above, the Timestamp is an extension of java.util.Date class is used as a wrapper to that class in JDBC API to maintain specific SQL requirements. It is mostly used when working with databases and gives output in nanoseconds precision.
以上是Java時間戳的詳細內容。更多資訊請關注PHP中文網其他相關文章!