TimeUnit是一個可用的枚舉 java.util.concurrent包. TimeUnit 顧名思義,處理時間單位。 TimeUnit 提供給定粒度單位的時間表示。它提供了跨時間單位轉換時間的方法。 TimeUnit 對於了解如何解釋給定時間(即應考慮哪個時間單位)很有用。持續時間之間的微小差異(例如以微秒和納秒為單位)可以使用 TimeUnit 計算出來。它用於執行定時和延遲操作。
它支持納秒、微秒、毫秒、秒、分鍾、小時和天單位。對於這些單位,TimeUnit 指定相應的枚舉常量:
- 納秒:千分之一微秒
- 微秒:千分之一毫秒
- 毫秒:千分之一秒
- 秒數:一秒
- 分鍾:六十秒
- 時間:六十分鍾
- 天數:二十四小時
示例 1:
Java
// Java program to demonstrate TimeUnit Class
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String args[])
{
long hours = 96;
// Convert given time (hours)in days
long days = TimeUnit.DAYS.convert(hours, TimeUnit.HOURS);
// Convert days in minutes
long minutes = TimeUnit.MINUTES.convert(days, TimeUnit.DAYS);
System.out.println(hours + " Hours = " + days
+ " Days = " + +minutes
+ " Minutes");
// Convert given time (minutes) to microseconds
long micros = TimeUnit.MINUTES.toMicros(minutes);
System.out.println(minutes + " Minutes = " + micros
+ " Microseconds");
// Convert given time (microseconds) to seconds
long seconds = TimeUnit.MICROSECONDS.toSeconds(micros);
System.out.println(micros + " Microseconds = "
+ seconds + " Seconds");
// Create TimeUnit object of type Minutes
TimeUnit time = TimeUnit.valueOf("MINUTES");
System.out.println("TimeUnit object type: " + time);
}
}
輸出
96 Hours = 4 Days = 5760 Minutes 5760 Minutes = 345600000000 Microseconds 345600000000 Microseconds = 345600 Seconds TimeUnit object type: MINUTES
示例 2:
Java
// Java program to demonstrate TimeUnit Class
import java.util.concurrent.TimeUnit;
public class GFG implements Runnable {
public void run()
{
// Get array of TimeUnit enum constants using
// values()
for (TimeUnit unit : TimeUnit.values()) {
try {
// pause for 1 second
TimeUnit.SECONDS.sleep(1);
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(
unit + " : "
+ unit.convert(24, TimeUnit.HOURS));
}
}
public static void main(String args[])
{
GFG obj1 = new GFG();
System.out.println("TimeUnit Example");
// Create and start Thread
Thread t1 = new Thread(obj1);
t1.start();
System.out.println("Now, thread will run for 5 seconds");
try {
// Specify Thread join time, here, 5 seconds
TimeUnit.SECONDS.timedJoin(t1, 5);
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread Execution Paused");
System.out.println("Resuming Thread Execution...");
}
}
輸出
TimeUnit Example Now, thread will run for 5 seconds NANOSECONDS : 86400000000000 MICROSECONDS : 86400000000 MILLISECONDS : 86400000 SECONDS : 86400 Thread Execution Paused Resuming Thread Execution... MINUTES : 1440 HOURS : 24 DAYS : 1
TimeUnit 中可用的實用方法:
方法 | 說明 |
---|---|
長convert() | 將輸入的持續時間及其單位轉換為所需的單位。 |
長toDays() | 將持續時間轉換為天。 |
長toHours() | 將持續時間轉換為小時。 |
長toMicros() | 將持續時間轉換為微秒。 |
長toMillis() | 將持續時間轉換為毫秒。 |
長toMinutes() | 將持續時間轉換為分鍾。 |
長toNanos() | 將持續時間轉換為納秒。 |
長toSeconds() | 將持續時間轉換為秒。 |
靜態TimeUnit valueOf() | 返回具有指定名稱的類型的枚舉常量。 |
靜態TimeUnit [] values() | 返回包含枚舉常量的數組。 |
無效sleep() | 使用此時間單位執行Thread.sleep。暫停給定的 TimeUnit。 |
無效timedWait() | 使用此時間單位執行定時Object.wait。等待給定的時間單位執行。 |
無效timedJoin() | 使用此時間單位執行定時Thread.join。提供線程僅在給定的時間內完成工作。 |
相關用法
- Java TimeUnit convert()用法及代碼示例
- Java TimeUnit sleep()用法及代碼示例
- Java TimeUnit toDays()用法及代碼示例
- Java TimeUnit toHours()用法及代碼示例
- Java TimeUnit toMicros()用法及代碼示例
- Java TimeUnit toMillis()用法及代碼示例
- Java TimeUnit toMinutes()用法及代碼示例
- Java TimeUnit toNanos()用法及代碼示例
- Java TimeUnit toSeconds()用法及代碼示例
- Java TimeUnit valueOf()用法及代碼示例
- Java TimeUnit values()用法及代碼示例
- Java TimeZone Clone()用法及代碼示例
- Java Timer schedule()用法及代碼示例
- Java Timer scheduleAtFixedRate()用法及代碼示例
- Java TimerTask cancel()用法及代碼示例
- Java TimerTask run()用法及代碼示例
- Java TimerTask scheduledExecutionTime()用法及代碼示例
- Java Timer cancel()用法及代碼示例
- Java Timer purge()用法及代碼示例
- Java TimeZone clone()用法及代碼示例
- Java TimeZone getAvailableIDs()用法及代碼示例
- Java TimeZone getDefault()用法及代碼示例
- Java TimeZone getDisplayName()用法及代碼示例
- Java TimeZone getDSTSavings()用法及代碼示例
- Java TimeZone getID()用法及代碼示例
注:本文由純淨天空篩選整理自hemavatisabu大神的英文原創作品 TimeUnit Class in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。