import java.time.*; public class MainProcess{ public static void main(String[] args) { LocalDateTime currentDateTime = LocalDateTime.now(); System.out.println( currentDateTime ); } }
要注意的是,currentDateTime只是儲存了LocalDateTime.now()所取得的時間值,故一會兒後再使用currentDateTime的話,裡面的時間值可不會自動改變喔。每次要取得最新的"現在時間值"的話,就必須反覆使用LocalDateTime.now()。
LocalDateTime的結果並不包含時區,如果要直接取得時間 + 時區的結果,可以使用ZonedDateTime的Class。
import java.time.*; public class MainProcess{ public static void main(String[] args) { ZonedDateTime currentDateTime = currentZoneTime.now(); System.out.println( currentZoneTime ); } }
如果是想要單純取得時區,可以使用ZonedDateTime下的一些方法,通常可以取得的結果有兩種:時區的區域名稱,和時區的時差數值。
import java.time.*; public class MainProcess{ public static void main(String[] args) { ZonedDateTime currentDateTime = currentZoneTime.now(); System.out.println( currentZoneTime.getZone() ); System.out.println( currentZoneTime.getOffset() ); } }
然後是如果執行程式時需要延遲一會兒,有Thread.sleep()和TimeUnit.sleep這兩個用法,這邊我選擇TimeUnit.sleep,因為有比較完整的用法,還可分為從TimeUnit.DAYS到TimeUnit.NANOSECONDS各種不同時間單位的使用方式,這邊使用TimeUnit.SECONDS來實作。
import java.time.*; import java.util.*; import java.util.concurrent.*; public class MainProcess{ public static void main(String[] args) throws InterruptedException { for( int i = 0; i < 10; i++ ) { TimeUnit.SECONDS.sleep( 1 ); System.out.println( LocalDateTime.now() ); } } }
沒有留言:
張貼留言