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