JDK8时间日期类LocalDateTime

JDK8时间日期类LocalDateTime

  • LocalDate 表示日期(年月日)
  • LocalTime 表示时间(时分秒)
  • LocalDateTime 表示时间+ 日期 (年月日时分秒)

LocalDateTime创建方法 (应用)
方法名
public static LocalDateTime now()
获取当前系统时间
public static LocalDateTime of (年, 月 , 日, 时, 分, 秒)
使用指定年月日和时分秒初始化一个LocalDateTime对象

public class JDK8DateDemo2 {
    public static void main(String[] args) {
    //获取当前系统时间
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
	//使用指定年月日和时分秒初始化一个LocalDateTime对象
        LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 11, 11, 11);
        System.out.println(localDateTime);
    }
}

LocalDateTime格式化和解析 (应用)
方法名说明
public String format (指定格式)
把一个LocalDateTime格式化成为一个字符串

public LocalDateTime parse (准备解析的字符串, 解析格式)
把一个日期字符串解析成为一个LocalDateTime对象

public static DateTimeFormatter ofPattern(String pattern)
使用指定的日期模板获取一个日期格式化器DateTimeFormatter对象

public class JDK8DateDemo5 {
    public static void main(String[] args) {
        //method1();
        //method2();
    }

    private static void method2() {
        //public static LocalDateTime parse (准备解析的字符串, 解析格式) 把一个日期字符串解析成为一个LocalDateTime对象
        String s = "2020年11月12日 13:14:15";
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        LocalDateTime parse = LocalDateTime.parse(s, pattern);
        System.out.println(parse);
    }

    private static void method1() {
        LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 12, 13, 14, 15);
        System.out.println(localDateTime);
        //public String format (指定格式)   把一个LocalDateTime格式化成为一个字符串
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        String s = localDateTime.format(pattern);
        System.out.println(s);
    }
}

LocalDateTime减少或者增加时间的方法 (应用)
方法名
public LocalDateTime minusYears (long years)
减去或者添加年
public LocalDateTime minusMonths(long months)
减去或者添加月
public LocalDateTime minusDays(long days)
减去或者添加日
public LocalDateTime minusHours(long hours)
减去或者添加时
public LocalDateTime minusMinutes(long minutes)
减去或者添加分
public LocalDateTime minusSeconds(long seconds)
减去或者添加秒
public LocalDateTime minusWeeks(long weeks)
减去或者添加周

public class JDK8DateDemo7 {
    public static void main(String[] args) {
        //public LocalDateTime minusYears (long years)  减去或者添加年
        LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 13, 14, 15);
        //LocalDateTime newLocalDateTime = localDateTime.minusYears(1);
        //System.out.println(newLocalDateTime);

        LocalDateTime newLocalDateTime = localDateTime.minusYears(-1);
        System.out.println(newLocalDateTime);

    }
}

LocalDateTime修改方法 (应用)
方法名
public LocalDateTime withYear(int year)

直接修改年
public LocalDateTime withMonth(int month)
直接修改月
public LocalDateTime withDayOfMonth(int dayofmonth)
直接修改日期(一个月中的第几天)
public LocalDateTime withDayOfYear(int dayOfYear)
直接修改日期(一年中的第几天)
public LocalDateTime withHour(int hour)
直接修改小时
public LocalDateTime withMinute(int minute)
直接修改分钟
public LocalDateTime withSecond(int second)
直接修改秒

/**
 * JDK8 时间类修改时间
 */
public class JDK8DateDemo8 {
    public static void main(String[] args) {
        //public LocalDateTime withYear(int year)   修改年
        LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 13, 14, 15);
       // LocalDateTime newLocalDateTime = localDateTime.withYear(2048);
       // System.out.println(newLocalDateTime);

        LocalDateTime newLocalDateTime = localDateTime.withMonth(20);
        System.out.println(newLocalDateTime);

    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDK 8引入了新的时间日期类,用于处理日期和时间的操作。其中包括了`LocalDate`、`LocalTime`、`LocalDateTime`、`Instant`、`Duration`和`Period`等类。 `LocalDate`类表示一个日期,可以用来表示年月日信息。你可以使用`of`方法来创建一个指定日期的`LocalDate`对象,例如`LocalDate.parse("2019-03-04", fmt)`可以创建一个表示2019年3月4日的`LocalDate`对象。你也可以使用`plusDays`方法来计算指定日期之后的日期。 `LocalTime`类表示一个时间,可以用来表示时分秒信息。可以使用`of`方法来创建一个指定时间的`LocalTime`对象。 `LocalDateTime`类表示一个日期和时间的组合,可以用来表示年月日时分秒信息。你可以使用`of`方法来创建一个指定日期和时间的`LocalDateTime`对象。 `Instant`类表示一个时刻,可以用来表示从1970年1月1日UTC时间开始的纳秒数。可以使用`now`方法来获取当前的`Instant`对象。 `Duration`类表示一个时间段,可以用来表示以秒和纳秒为单位的时间差。你可以使用`between`方法来计算两个时间之间的差距。 `Period`类表示一个日期段,可以用来表示年、月、日之间的差距。你可以使用`between`方法来计算两个日期之间的差距。 需要注意的是,`Period`类无法直接计算隔月的差距,而是只能计算日期的差距。如果需要计算隔月的差距,可以使用`toEpochDay`方法将日期转换为自1970年1月1日以来的天数,然后进行计算。 例如,通过`LocalDate.now()`可以获取当前时间,通过`plusDays`方法可以计算当前时间之后100天的日期,而通过`Period.between`方法可以计算两个日期之间的差距并获取天数。 请注意,在上述代码中,`DateTimeFormatter`类用于指定日期的格式化和解析。 中的代码可以计算两个日期之间的差距,并将结果以年、月、日的形式输出。 中的代码展示了如何计算隔月的差距,通过`toEpochDay`方法获取两个日期之间的天数差。 总结来说,JDK 8时间日期类提供了许多强大的功能,可以方便地进行日期和时间的操作和计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值