- 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() );
- }
- }
- }
沒有留言:
張貼留言