Java8日付API

A、時計クロック

クロック・クラスは、現在の日付と時刻へのアクセスを提供し、タイムゾーンが敏感な時計で、数マイクロ秒の電流を得るために)(代わりにSystem.currentTimeMillisを使用することができます。特定の時点でも、クラスのインスタントを表すために使用することができ、インスタントクラスも古いjava.util.Dateオブジェクトを作成するために使用することができます。

import java.time.Clock;
import java.time.Instant;
import java.util.Date;

public class Test {
 
    public static void main(String[] args) {
        
        Clock clock = Clock.systemDefaultZone();
        long millis = clock.millis();
    
        Instant instant = clock.instant();
        Date from = Date.from(instant);
        
        System.out.println("millis :" + millis);
        System.out.println("from :" + from);
    }
}

二、タイムゾーンのタイムゾーン

import java.time.ZoneId;
import java.util.Set;

public class Test {
 
    public static void main(String[] args) {
        
        Set<String> availableZoneIds = ZoneId.getAvailableZoneIds();
        System.out.println(availableZoneIds);
    
        ZoneId of = ZoneId.of("Asia/Shanghai");
        
        ZoneId of1 = ZoneId.of("Asia/Aden");
        System.out.println(of.getRules());
        System.out.println(of1.getRules());
    }
}

三、にLocalTime現地時間

1の静的ファクトリメソッドによってLOCALDATEのインスタンスを作成することができ
、同じ分析法の解析時間を介して、2
3、動作モード等LOCALDATE

import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.ChronoUnit;
import java.util.Locale;
import java.util.Set;

public class Test {
 
    public static void main(String[] args) {
        
        Set<String> availableZoneIds = ZoneId.getAvailableZoneIds();
        System.out.println(availableZoneIds);
    
        //获取当前时间
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");
        LocalTime localTimeOld = LocalTime.now(zoneId);
        System.out.println("localTime :"+localTimeOld);
        
        //获取定时时间及时、分、秒
        LocalTime localTime = LocalTime.of(12, 25, 55);
        int hour = localTime.getHour();
        int minute = localTime.getMinute();
        int second = localTime.getSecond();
        System.out.println("localTime "+localTime+"\nhour :"+hour + "\nminute :" + minute + "second :"+second);
        
        //获取两个时间时间差(时间小的第一个参数结果是负数)
        long hoursBetween = ChronoUnit.HOURS.between(localTimeOld, localTime);
        long minutesBetween = ChronoUnit.MINUTES.between(localTimeOld, localTime);
        System.out.println("hoursBetween :"+hoursBetween);
        System.out.println("minutesBetween :"+minutesBetween);
        
        //多种工厂方法简化对象创建,包括字符串的解析
        DateTimeFormatter germanFormatter =
                DateTimeFormatter
                    .ofLocalizedTime(FormatStyle.SHORT)
                    .withLocale(Locale.GERMAN);
        LocalTime parse = LocalTime.parse("12:25", germanFormatter);
        System.out.println("parse :"+parse);
        
    }
}

四、LOCALDATEローカル日付

LOCALDATEが正確な日付を示し、オブジェクトの値はそれらと一致不変であり、且つにLocalTime。また、これらのオブジェクトは不変であることに注意して、操作の新しいインスタンスが常に返されます。

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.ChronoUnit;
import java.util.Locale;

public class Test {

    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        LocalDate tomorrow = today.plus(1, ChronoUnit.DAYS);
        LocalDate yesterday = tomorrow.minusDays(2);
        System.out.println(yesterday); 
        
        LocalDate independenceDay = LocalDate.of(2014, Month.JULY, 4);
        DayOfWeek dayOfWeek = independenceDay.getDayOfWeek();
        System.out.println(dayOfWeek);  
        
        
        DateTimeFormatter germanFormatter =  DateTimeFormatter
                                             .ofLocalizedDate(FormatStyle.MEDIUM)
                                             .withLocale(Locale.GERMAN);

            LocalDate xmas = LocalDate.parse("01.11.2019", germanFormatter);
            System.out.println(xmas);
    }
}

五、LocalDateTimeをローカルの日付と時刻

1、LocalDateTimeを、とにLocalTime LOCALDATEフィットです。また、日付と時刻を示しているが、タイムゾーン情報を、直接作成することができ、またはオブジェクト構築の合併日時て。
2、LocalDateTimeをして、そこにLocalTime LOCALDATEは、不変です。LocalDateTimeをアクセス、特定のフィールドにメソッドを提供します。

import java.time.DayOfWeek;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.temporal.ChronoField;


public class Test {
 
    public static void main(String[] args) {
        LocalDateTime sylvester = LocalDateTime.of(2019, Month.DECEMBER, 31, 23, 59, 59);

        DayOfWeek dayOfWeek = sylvester.getDayOfWeek();
        System.out.println(dayOfWeek);      

        Month month = sylvester.getMonth();
        System.out.println(month);          
        long minuteOfDay = sylvester.getLong(ChronoField.MINUTE_OF_DAY);
        System.out.println(minuteOfDay);   
        
    }
}

六、インスタント

モデリング時間が時間の連続期間に単一の大きな整数点で最も自然な形でコンピュータの観点から、インスタントは、機械の使用を容易にするために設計され、それはナノ秒と秒が含まれていることですデジタルの設定。インスタントクラスは今もstaticファクトリメソッドをサポートし、それはあなたが現在の時刻のタイムスタンプを得るのを助けることができます。

import java.time.Instant;

public class Test {
 
    public static void main(String[] args) {
        Instant now = Instant.now();
        System.out.println(now.getEpochSecond() + "." + now.getNano());
        System.out.println(System.currentTimeMillis());
    }
}

授業時間の七つの一般的な方法

  • LOCALDATE、にLocalTimeは、LocalDateTimeをこれは、日付と時刻のクラスインスタント時点は一般的な方法の数を提供して示しています。
メソッド名 それは、静的メソッドであるかどうか 説明
それはあります 時間的に渡されたオブジェクトのオブジェクトのインスタンスを作成します。
それはあります システムクロックに基づいてオブジェクトを作成し、時間的
それはあります オブジェクトは、オブジェクトの時間インスタンスの一部で作成され
パース それはあります 文字列のインスタンスが作成した一時的なオブジェクト
atOffset ノー 時間的には、オブジェクトとタイムゾーンの組み合わせは、オフセット
atZone ノー 時間的オブジェクトとタイムゾーンの組み合わせ
フォーマット ノー 指定されたフォーマットを使用して文字列に一時的なオブジェクト(インスタント・クラスは、メソッドを提供していない)であろう
取得する ノー 時間的な物体の部分の読取り値
マイナス ノー オブジェクトのコピーを作成し、時間的、コピーは、時間オブジェクトの現在の値で一定の長さを減算することにより作成されます
プラス ノー コピーの長いオブジェクトを作成する時間的の電流値で一定時間の経過とともに、オブジェクトのコピーを作成し、時間的
とともに ノー ターゲット・オブジェクトへの一時的ないくつかの状態変更したコピーのためのテンプレートとしてオブジェクトを作成します

八のフォーマット

DateTimeFormatterは、一般的にBASIC_ISO_DATE ISO_LOCAL_DATEと便利なフォーマットのような定数を事前に定義された日付と時刻を、フォーマットするために使用します。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Test {
 
    public static void main(String[] args) {
        
        LocalDateTime now = LocalDateTime.now();
        String s = now.format(DateTimeFormatter.BASIC_ISO_DATE);
        String s1 = now.format(DateTimeFormatter.ISO_DATE_TIME);
        System.out.println(s);
        System.out.println(s1);
        
    }
}

著者:ソウル玄ハオは、世間の注目号を歓迎します

私はすべての権利と利益を維持し、ソースを明記してください。
物語へようこそ、友人とIシェアのアイデアは、電子メールに送信することができます。[email protected]

おすすめ

転載: www.cnblogs.com/lwqforit/p/12013660.html