首頁 > Java > java教程 > 主體

Java時間戳

PHPz
發布: 2024-08-30 15:39:02
原創
1325 人瀏覽過

Java Timestamp 屬於 java.util.Date 的瘦包裝器,並允許 JDBC API 將其識別為 SQL TIMESTAMP 類型值。 Timestamp 支援格式化和解析等操作,以協助轉義時間戳值的 JDBC 語法。

廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

已知此 Java 時間戳記的精確度為:

  • 19,即 yyyy-mm-dd hh:mm:ss 格式的字元總數。
  • 20 + s 精度,即格式為 yyyy-mm-dd hh:mm:ss 的字元總數,其中 s 表示給定時間戳的小數位數,即小數秒精度。

注意: 時間戳屬於 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 時間戳記的方法

Java中時間戳函數的工作原理:時間戳可以在許多方法中使用,下面詳細解釋其中的一些方法-

1.之後

顯示目前時間戳物件是否晚於給定物件。

public boolean after(Timestamp tm)
登入後複製

其中tm是Timestamp的值,我們將其與這個Timestamp物件進行比較,該函數傳回一個布林值;如果此時間戳記值較晚則為 true,反之亦然。

2.之前

顯示目前時間戳物件是否早於給定物件。

public boolean before(Timestamp tm)
登入後複製

其中 tm 是 Timestamp 的值,我們將 Timestamp 物件與此函數進行比較,傳回布林值;如果此時間戳記值之前,則為 true,反之亦然。

3.比較

這是一個比較函數,用於將給定的 Timestamp 物件與此物件進行比較。

public int compareTo(Timestamp tm)
登入後複製

其中tm 是要與此Timestamp 對象進行比較的對象,當兩個對象相等時,該函數返回0 值;當該對象位於給定對象之前時,為任何小於0 的值;當Timestamp 對象位於給定Timestamp 物件之後時,為大於0 的值。

4.等於

使用此函數,我們可以檢查兩個給定的 Timestamp 物件是否相等。

public boolean equals(Timestamp tm)
登入後複製

其中 tm 指的是 Timestamp 值,我們必須將它與這個 Timestamp 物件進行比較。此函數傳回布林值;如果值相等則傳回 true,否則傳回 false。

5.取得時間

此函數給出從預設日期值 1970 年 1 月 1 日 00:00:00 GMT 開始的總毫秒數,該值由此 Timestamp 物件指示。

public long getTime()
登入後複製
登入後複製

此函數將覆寫 Date 類別的 getTime 函數(如果存在)。它會傳回距離預設日期的毫秒數,如上所示。

6.取得奈米

此函數用於取得此 Timestamp 物件的 Nanos 值。

public int getNanos()
登入後複製

此函數傳回物件的小數第二個參數。

7.立即

這用於將 Timestamp 物件變更為 Instant。在這個轉換過程中,會建立一個 Instant,它表示線上的點,與這個 Timestamp 相同。

public Instant toInstant()
登入後複製

此函數重寫了 Date 類別的 toInstant 方法。它會傳回代表時間線上同一點的瞬間。

8.設定時間

此函數設定一個 Timestamp 物件來指示 1970 年 1 月 1 日 00:00:00 GMT 之後的時間(以毫秒為單位)。

public void setTime(long time)
登入後複製

此函數重寫了 Date 類別中的 setTime 方法。需輸入參數time,即毫秒數。

9.取得時間

此函數用於取得此 Timestamp 物件所代表的自 1970 年 1 月 1 日 00:00:00 GMT 以來的毫秒數。

public long getTime()
登入後複製
登入後複製

此函數傳回自上述預設時間以來的時間(以毫秒為單位)。

10。值

此方法將屬於 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.

Examples to Implement Java Timestamp

Below are the examples of Java Timestamp:

Example #1

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:

Java時間戳

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.

Example #2

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:

Java時間戳

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.

Advantages of using Timestamp in Java

  • We can notice a clear separation with the Timestamp object’s help between two different time duration, especially Instant and Duration or fragment-related definitions. Ex LocalDate, LocalTime.
  • In comparison with java.Util.The date this Timestamp object allows a better set of functions for manipulating and calculating the logic.
  • It also covers the conversion of units with the help of Duration.toDays().
  • It also covers the Timezone hell with the help of ZonedDateTime.

Conclusion

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中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板