Java8中 LocalDateTime toLocalDate()用法及代码示例
-- LocalDateTime类的toLocalDate()方法用于获取此LocalDateTime的LocalDate表示形式。
1. LocalDate只保存年月日
2. LocalDateTime保存年月日时分秒。
常用Api(1.)
package cn.js;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.util.Date;
public class Test02 {
public static void main(String[] args) {
LocalDateTime dt = LocalDateTime.now();
System.out.println("LocalDateTime时间:"+dt);
LocalDate createDate = dt.toLocalDate();
System.out.println("通过toLocalDate装换:"+createDate);
Month month = createDate.getMonth();
System.out.println("month: "+month);
int value = createDate.getMonth().getValue();
System.out.println("value: "+value);
System.out.println("-------------");
LocalDate createDate2 = dt.toLocalDate();
System.out.println("新的"+createDate2);
String s = createDate2.toString();
System.out.println("s: "+s);
String replace = s.replace("-", "");
System.out.println("截取:"+replace);
int year = createDate2.getYear();
System.out.println("year: "+year);
}
}
常用Api(2.)
package cn.js;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class Test03 {
public static void main(String[] args) {
LocalDate now = LocalDate.now();
System.out.println("今天是 "+now);
System.out.println("1970年到现在一共 "+now.toEpochDay() +" 天");
final int lengthOfYear = now.lengthOfYear();
System.out.println("今年一共 "+lengthOfYear+" 天");
final int lengthOfMonth = now.lengthOfMonth();
System.out.println("本月一共 "+ lengthOfMonth +" 天");
final boolean leapYear = now.isLeapYear();
System.out.println("今年是否是闰年:"+leapYear);
final LocalDate firstDayOfMonth = now.with(TemporalAdjusters.firstDayOfMonth());
System.out.println("本月的第一天是 : "+firstDayOfMonth);
final LocalDate withMONDAY = now.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println("下周一日期是 :"+withMONDAY);
System.out.println(" 日期在当前时间之后: "+ withMONDAY.isAfter(now));
System.out.println(" 日期在当前时间之前: "+ withMONDAY.isBefore(now));
final LocalDate lastMONDAY = now.with(TemporalAdjusters.lastInMonth(DayOfWeek.TUESDAY));
System.out.println("本月最后一个周二是 :"+lastMONDAY);
final LocalDate lastDay = now.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("本月最后一天是 : "+lastDay);
final LocalDate plusYears = now.plusYears(1);
System.out.println("当前日期加一年 : "+plusYears);
System.out.println("两个日期相差天数:"+(plusYears.toEpochDay() - now.toEpochDay()));
final LocalDate plusMonths1 = now.plusMonths(12);
System.out.println("当前日期加12 个月 :"+plusMonths1);
final LocalDate minusDays = now.minusDays(1);
System.out.println("当前日期减 1 天 : "+minusDays);
final LocalDate plusDays = now.plusDays(1);
System.out.println("当前日期加 1 天 : "+plusDays);
final int dayOfMonth = now.getDayOfMonth();
System.out.println("今天是这个月的第 "+dayOfMonth +" 天");
final int monthValue = now.getMonthValue();
System.out.println("本月是今年的第 "+monthValue + "月");
final Month month = now.getMonth();
System.out.println("本月的英文 : "+month);
final DayOfWeek dayOfWeek = now.getDayOfWeek();
System.out.println("今天是周几英文: " + dayOfWeek);
System.out.println("今天是本周周几: " + dayOfWeek.getValue());
final LocalDate parse = LocalDate.parse("2022-07-12");
final LocalDate parse1 = LocalDate.parse("2023-07-12", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(parse1);
System.out.println(" 转日期 "+parse);
System.out.println("DateTimeFormatter 转日期 "+parse1);
final LocalDate startDate = LocalDate.of(2023 , 6, 30);
System.out.println(startDate);
final LocalDateTime nowDateTime = LocalDateTime.now();
System.out.println("当前日期时间:"+nowDateTime);
final LocalTime localTime = LocalTime.now();
System.out.println("当前时间: "+localTime);
final String format = nowDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss a"));
System.out.println("当前日期时间 格式化"+format);
}
}