DateTimeFormatter:格式化或解析日期、时间。date 转 localDate, localDate 转 date

 /*
    DateTimeFormatter:格式化或解析日期、时间
    类似于SimpleDateFormat
     */
 
    @Test
    public void test3(){
        //方式一:预定义的标准格式 如:
        //ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
 
        DateTimeFormatter formatter =  DateTimeFormatter.DateTimeFormatter.ofPattern("yyyy-MM-dd");
        //格式化: 日期 ---> 字符串
        LocalDateTime localDateTime = LocalDateTime.now();
        String str1 = formatter.format(localDateTime);
        System.out.println(localDateTime);
        System.out.println(str1);//2022-04-25T14:54:57.0639562
 
        //解析:字符串 ---> 日期
        TemporalAccessor parse = formatter.parse("2022-04-25T14:54:57.0639562");
        System.out.println(parse);//{},ISO resolved to 2022-04-25T14:54:57.063956200
 
 
 
        //方式二:本地化相关的格式 如:ofLocalizedDateTime(FormatStyle.LONG)
        //FormatStyle.LONG/FormatStyle.MEDIUM/FormatStyle.SHORT :适用于LocalDateTime
 
        DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
        //格式化
        String str2 = formatter1.format(localDateTime);
        System.out.println(str2);// 2022/4/25 下午3:08
 
 
 
        //      本地化相关的格式 如:ofLocalizedDate()
        //FormatStyle.FULL/FormatStyle.LONG/FormatStyle.SHORT/FormatStyle.MEDIUM :适用于LocalDate
        DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
        //格式化
        String str3 = formatter2.format(LocalDate.now());
        System.out.println(str3);//2022年4月25日星期一
 
 
        //方式三:自定义的格式 如:ofPattern("yyyy-MM-dd hh:mm:ss")
        DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        //格式化
        String str4 = formatter3.format(LocalDateTime.now());
        System.out.println(str4);//2022-04-25 03:22:59
 
        //解析
        TemporalAccessor accessor = formatter3.parse("2022-04-25 03:22:59");
        System.out.println(accessor);
        //{MinuteOfHour=22, MicroOfSecond=0, HourOfAmPm=3, NanoOfSecond=0, SecondOfMinute=59, MilliOfSecond=0},ISO resolved to 2022-04-25
 
    }

 

 Date date = new Date();
        //如果根本不想显示时分秒,可以直接使用LocalDate类型:
        LocalDate date1 =  date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        //localDate 转 date
        Date date11 =  Date.from(date1.atStartOfDay(ZoneId.systemDefault()).toInstant());
        can.setTime(date11);
        can.add(Calendar.DAY_OF_MONTH,7);
//date 转 localDate
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

//localDate 转 date 
Date from = Date.from(now.atStartOfDay(ZoneId.systemDefault()).toInstant());

 

 

 Java获取当天0时0分0秒时间的方法

Java获取当天0时0分0秒时间的方法

Date date = new Date(86400000L * (int)(System.currentTimeMillis() / 86400000.0)-1000*60*60*8);

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值