关于使用LocalDateTime:

  1. 获取当前时间:

    LocalDateTime current = LocalDateTime.now();
    // 执行结果: 2021-12-31T11:36:57.980
  2. 获取当前年份:

    int currentYear = current.getYear();
    // 执行结果: 2021
  3. 获取当前月份:

    /* 获取当前月份有2个方法:
        1. 直接获取当前月份的数字,比如本月是12月份,那么使用getMonthValue()这个方法,直接返回12
        2. 获取月份的Enum值,本月12月,返回DECEMBER,类型是 Month
    */
    // 直接获取数字月份
     int monthValue =   current.getMonthValue();
    // 执行结果: 12
    ​
    // 获取月份的Enum值
     Month currentMonth =   current.getMonth();
    // 执行结果:DECEMBER
  4. 获取天

    /*
    获取天:
        1. 这一天在本年是第多少天
        2. 这一天在本月是第多少天
        3. 这一天在本周是第多少天
    */
    // 本年
      int dayOfYear = current.getDayOfYear();  
    // 本月
      int dayOfMonth = current.getDayOfMonth();
    // 本周
      DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();
    // 这个 DayOfWeek 是一个枚举类型:  MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY
  5. 获取时分秒

     int hour = current.getHour();
     int minute = current.getMinute();
     int second = current.getSecond();
  6. 创建一个自定义日期

    // 比如指定一个 2020-08-09 13:45:55
    LocalDateTime myDateTime = LocalDateTime.of(2021, 12, 25, 13, 35);
    // 如果要对年月日时分秒  进行加或者减,可以使用  minusxxx / plusxxx
    // 加一年
    LocalDateTime newDateTime = myDateTime.plusYear(1);
    // 减一个月
    LocalDateTime newNewDateTime = myDateTime.minusMonths(1);
  7. 时间格式转换

    // 自定义字符串时间 转换为 localdatetime
        String str = "2021-12-31 12:33:56";
        LocalDateTime parse = LocalDateTime.parse(str, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    ​
    // localdatetime 转换为 字符串时间
        LocalDateTime current = LocalDateTime.now();
        String format = current.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    ​
    // Date 转换为 LocalDateTime
         Date myDate = new Date();
         // 标准时间(格林尼治时间)
         Instant instant = myDate.toInstant();
         // 获取当前时区
         ZoneId zoneId = ZoneId.systemDefault();
         LocalDateTime myTime =  instant.atZone(zoneId).toLocalDateTime();
    ​
    // 将LocalDateTime 转换为 Date
        LocalDateTime current = LocalDateTime.now();
         Date from = Date.from(Instant.from(current.atZone(ZoneId.systemDefault())));
    ​
    // LocalDateTime 转换为时间戳
        LocalDateTime current = LocalDateTime.now();
        Long timestamp = current.toInstant(ZoneOffset.of("+8")).toEpochMilli();
    ​
    // 时间戳转换为 LocalDateTime 
        Long timestamp = System.currentTimeMillis();
        LocalDateTime localDateTime = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值