package insping;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
public class Test1 {
public static void main(String[] args) {
//LocalDate today = LocalDate.now();
String SkyNgFromStr = "20180401";
String SkyNgToStr = "20180501";
String format = "yyyyMMdd";
LocalDate SkyNgTo = convertToLocalDate(SkyNgToStr,format);
System.out.println("SkyNgToStr : " + SkyNgTo);
LocalDate SkyNgFrom = convertToLocalDate(SkyNgFromStr,format);
System.out.println("SkyNgFromStr : " + SkyNgFrom);
Period p = Period.between(SkyNgFrom, SkyNgTo);
System.out.printf("年龄 : %d 年 %d 月 %d 日", p.getYears(), p.getMonths(), p.getDays());
System.out.println("*******");
System.out.println(p.getYears()*12+p.getMonths()+1);
}
// public static LocalDateTime toLocalDateTime(String date, String format) throws ParseException {
// SimpleDateFormat sdf = new SimpleDateFormat(format);
// Date formatDate = sdf.parse(date);
// return LocalDateTime.ofInstant(formatDate.toInstant(), ZoneId.systemDefault());
// }
// 文字列の日付をフォーマット(yyyyMMddやyyyy/mm/ddなど)をもとにLocalDate型に変換するメソッド
public static LocalDate convertToLocalDate(String date, String format) {
// シンプルにLocalDate型に変換された日付を返却
return LocalDate.parse(date, DateTimeFormatter.ofPattern(format));
}
}