JAva-java.timeパッケージ基本使用

7669 ワード

Java 8では、日付クラスが追加され、非常に強く、日付と時間を分けています.Java.timeパッケージのキークラスInstant-タイムスタンプLocalDate-処理日.LocalTime-処理時間LocalDateTime-日付と時刻ZonedDateTime-タイムゾーンの日付時間が含まれます.
作成
newキーワードを使用して作成する必要はなく、静的ファクトリメソッドを使用したり、年月日を入力して構築したりします.ここで2番目のパラメータは月を表し、英語の月の略語に書くことができます.JUNEのように
    LocalDate ld= LocalDate.now();
    LocalDate.of(2017, 6, 23);
方法
年月日の取得方法は簡単です.年-----getYear()月--getMonthValue()日----getDayOfMonth()曜日は1-7を返します---getDayOfWeek()は閏年か---isLeapYear()月を取得する日数---lengthOfMonth()年を取得する日数--lengthOfYear()現在プラスlongXXX--plusXXX(long)現在マイナスminusXXX--minusXXX--minusXXX(long)その前にもこの後にも--isAfterとisBefore
テストの使用
public class TestJavaTime {

    /**
     *    
     */
    @Test
    public void testzonedDateTime () {
        System.out.println(
                "      "+ZonedDateTime.now()+
                "
"
+ZonedDateTime.of(LocalDateTime.now(),ZoneId.of("Asia/Shanghai"))+ "
id"
+ ZoneId.getAvailableZoneIds() ); } /** * */ @Test public void testDTF(){ LocalTime lt1=LocalTime.of(23, 59,59); LocalTime lt2=LocalTime.of(0, 0,0); Duration du= Duration.between(lt2, lt1); System.out.println(du.toHours());// System.out.println(du.getSeconds()); } /** * */ @Test public void testDTF(){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy MM dd HH:mm:ss E"); LocalDateTime ldt = LocalDateTime.now(); String strDate = ldt.format(dtf); System.out.println(strDate); } /** * */ @Test public void testMonthAndWeek() { System.out.println(" :"+Arrays.toString(Month.values())+ "
:"
+Arrays.toString(DayOfWeek.values())+ "
int name:"
+Month.of(3) ); } /** * */ @Test public void testYear() { Year y= Year.now(); System.out.println(" :"+y.length()+"; :"+y.isLeap()+"; :"+y.getValue()); } /** * */ @Test public void testLocalDate() { LocalDate ld = LocalDate.now();// LocalDate.now(Clock.systemDefaultZone()) System.out.println(" :"+ld+"; :"+ld.getYear()+"; :"+ld.getMonthValue()+"; :"+ld.getDayOfMonth()+"
"
+ " :"+ld.getDayOfYear()+ "; :"+ld.getDayOfWeek()+"; :"+ld.isLeapYear()+"; :"+ld.lengthOfMonth()+"
"
+ "; :"+ld.lengthOfYear() ); LocalDate a = LocalDate.of(2012, 7, 2); LocalDate b = LocalDate.of(2012, 7, 2); System.out.println("a b ?"+a.isAfter(b)+"
"
+"a b ?"+a.isBefore(b)+"
"
+"a b ?"+a.isEqual(b)); } /** * */ @Test public void testLocalTime() { LocalTime lt = LocalTime.now(); System.out.println(" "+lt+"; "+lt.getHour()+":"+lt.getMinute()+":"+lt.getSecond()+"."+lt.getNano()); } /** * */ @Test public void testLocalDateTime() { LocalDateTime ldt=LocalDateTime.now(); System.out.println(" "+ldt+"; :"+ldt.getYear()+"; :"+ldt.getMonthValue()+"; :"+ldt.getDayOfMonth()+"; "+ldt.getHour()+":"+ldt.getMinute()+":"+ldt.getSecond()+"."+ldt.getNano()); } /** * */ @Test public void testInstant() { Instant is=Instant.now(); System.out.println("1970-01-01 "+is.getEpochSecond()+"== =="+is.toEpochMilli()); } }