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
广告