Java UUID timestamp() 方法



描述

Java UUID timestamp() 方法用於返回與此 UUID 關聯的時間戳值。

宣告

以下是 java.util.UUID.timestamp() 方法的宣告。

public long timestamp()

引數

返回值

方法呼叫返回與此 UUID 關聯的時間戳值。

異常

UnsupportedOperationException − 如果此 UUID 不是版本 1 的 UUID,則丟擲此異常。

使用標準格式化字串示例獲取 UUID 的時間戳

以下示例演示瞭如何使用 Java UUID timestamp() 方法獲取此 UUID 的時間戳值。我們使用給定的字串建立了一個 UUID 物件。然後,我們使用 timestamp() 方法列印了此 UUID 物件的時間戳值。

package com.tutorialspoint;

import java.util.UUID;

public class UUIDDemo {
   public static void main(String[] args) {

      // creating UUID      
      UUID x = UUID.fromString("38400000-8cf0-11bd-b23e-10b96e4ef00d");

      // getting timestamp value
      System.out.println("timestamp value: "+x.timestamp());    
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

timestamp value: 125411328000000000

獲取隨機生成的 UUID 的時間戳示例

以下示例演示瞭如何使用 Java UUID timestamp() 方法獲取與此 UUID 關聯的時間戳值,但此方法不受支援。我們使用 randomUUID() 方法建立了一個 UUID 物件。然後,我們嘗試使用 timestamp() 方法獲取與 UUID 物件關聯的時間戳值。它丟擲我們捕獲並列印的異常。

package com.tutorialspoint;

import java.util.UUID;

public class UUIDDemo {
   public static void main(String[] args) {

      // creating UUID      
      UUID x = UUID.randomUUID();

      try {
         // getting timestamp value
         System.out.println("timestamp value: "+x.timestamp());
      } catch(Exception e) {
         e.printStackTrace();
      }
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

java.lang.UnsupportedOperationException: Not a time-based UUID
	at java.base/java.util.UUID.timestamp(UUID.java:312)
	at com.tutorialspoint.UUIDDemo.main(UUIDDemo.java:13)

使用位元組陣列生成的 UUID 的時間戳示例

以下示例演示瞭如何使用 Java UUID timestamp() 方法獲取與此 UUID 關聯的時間戳值,但此方法不受支援。我們使用 nameUUIDFromBytes() 方法建立了一個 UUID 物件。然後,我們嘗試使用 timestamp() 方法獲取與 UUID 物件關聯的時間戳值。它丟擲我們捕獲並列印的異常。

package com.tutorialspoint;

import java.util.UUID;

public class UUIDDemo {
   public static void main(String[] args) {

      // creating byte array 
      byte[] nbyte = {10,20,30};

      // creating UUID from byte     
      UUID uid = UUID.nameUUIDFromBytes(nbyte);

      try {
         // getting timestamp value
         System.out.println("timestamp value: "+uid.timestamp());
      } catch(Exception e) {
         e.printStackTrace();
      }
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

java.lang.UnsupportedOperationException: Not a time-based UUID
	at java.base/java.util.UUID.timestamp(UUID.java:312)
	at com.tutorialspoint.UUIDDemo.main(UUIDDemo.java:16)
java_util_uuid.htm
廣告