새로운 날짜 및 시간 수업의 디자인 원칙 :
불변의 수업
java8 이전에 날짜 클래스는 모두 돌연변이되었습니다. 멀티 스레드 환경에서 사용하면 프로그래머는 날짜 객체가 스레드 안전임을 확인해야합니다. Java8의 날짜 및 시간 API는 실로 안전한 불변의 클래스를 제공합니다. 프로그래머는 동시성 문제를 고려할 필요가 없습니다.
도메인 모델 구동 설계 방법
새로운 범주의 날짜와 시간은 "도메인 구동 설계"를 따릅니다. 개발자는 방법과 클래스의 기능을 쉽게 이해할 수 있습니다.
다음으로 새로운 날짜와 시간 API를 살펴 보겠습니다.
1.java.time.localdate :
LocalDate는 날짜 만 제공하지만 시간 정보는 제공하지 않습니다. 불변적이고 실로 안전합니다.
패키지 org.smarttechie; import java.time.localdate; import java.time.temporal.chronounit;/***이 클래스는 Java 8 데이터와 시간을 보여줍니다. LocalDate localDate = localDate.now (); System.out.println ( "현지 날짜는 ::" + localDate); // 월의 길이를 찾으십시오. 즉, 이번 달에는 며칠이 있습니다. System.out.println ( "이번 달에 사용할 수있는 일 수 ::" + localDate.lengthofmonth ()); // 월 이름 system.out.println을 알고 있습니다 ( "월 이름은 무엇입니까? ::" + localdate.getmonth (). name ()); // 오늘 날짜에 2 일을 추가하십시오. System.out.println (localDate.plus (2, chronounit.days)); // 오늘 System.out.println (localDate.Minus (2, chronounit.days))에서 2 일을 퇴보시킵니다. // 문자열을 날짜로 변환 system.out.println (localDate.parse ( "2017-04-07")); }}
2.java.time.localtime :
LocalTime은 날짜 정보가 아닌 시간 만 제공하며, 불변의 스레드 안전입니다.
패키지 org.smarttechie; import java.time.localtime; import java.time.temporal.chronounit;/***이 클래스는 Java 8 데이터와 시간을 보여줍니다. LocalTime localtime = localtime.now (); System.out.println (LocalTime); // 하루의 시간을 받는다. // 시간에 2 시간을 추가합니다. System.out.println (localtime.plus (2, chronounit.hours)); // 시간에 6 분을 추가합니다. System.out.println (localtime.plusminutes (6)); // 현재 시간 System.out.println (localtime.minus (2, chronounit.hours))에서 2 시간을 추가합니다. }}
3.java.time.localdateTime :
LocalDateTime은 시간과 날짜에 대한 정보를 제공하며, 불변이며 실로 안전합니다.
패키지 Orr.smarttechie; import java.time.localdateTime; import java.time.temporal.chronounit;/***이 클래스는 Java 8 데이터와 시간을 보여줍니다. LocalDateTime Object LocalDateTime LocalDateTime = localDateTime.now (); System.out.println (LocalDateTime); // 월의 길이를 찾으십시오. 즉, 이번 달에는 며칠이 있습니다. System.out.println ( "이번 달에 사용할 수있는 일 수 ::" + localDateTime.getMonth (). length (true)); // 월 이름 system.out.println을 알고 있습니다 ( "월 이름은 무엇입니까? ::" + localDateTime.getMonth (). name ()); // 오늘 날짜에 2 일을 추가하십시오. System.out.println (LocalDateTime.plus (2, chronounit.days)); // 오늘 System.out.println (localDateTime.Minus (2, chronounit.days))에서 2 일을 퇴보시킵니다. }}
4.java.time.year :
연도는 연도에 대한 정보를 제공하며, 불변의 실없고 안전합니다.
패키지 Orr.smarttechie; import java.time.year; import java.time.temporal.chronounit;/***이 클래스는 Java 8 데이터와 시간을 보여줍니다. Year.now (); System.out.println ( "Year ::" + Year); // 연도가 LEAP 연도 여부를 알고 있습니다. out.println ( "is year ["+year+"] 도약 년?"+year.isleap ()); }}
5.java.time.duration :
지속 시간은 주어진 두 날짜 사이에 몇 초과 몇 밀리 초가 포함 된 수를 계산하는 데 사용됩니다. 불변적이고 실로 안전합니다.
6.java.time.period :
기간은 주어진 두 날짜 사이에 며칠, 몇 달 또는 몇 년이 포함되어 있는지 계산하는 데 사용됩니다. 불변적이고 실로 안전합니다.
패키지 Orr.smartTechie; import java.time.localdate; import java.time.period; import java.time.temporal.chronounit;/***이 클래스는 java 8 데이터와 시간을 보여줍니다. @author siva prasad rao janapati **/public class (public void void aps). args) {localDate localDate = localDate.now (); 기간 = 기간. System.out.println (periz.getDays ()); }}