java String、Date、LocalDate相互转换

博客主要介绍了Java中日期与字符串的转换方法,包括String和LocalDate借助DateTimeFormatter、Date和LocalDate借助Instance、Date和String借助SimpleDateFormat,还设置了代码报错测试,鼓励读者参与。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String 和 LocalDate 借助 DateTimeFormatter

//String -> LocalDateTime
String timeStr = "2022/6/20"
LocalDate parse = LocalDate.parse(timeStr, 
    DateTimeFormatter.ofPattern("yyyy/M/dd"));
//LocalDateTime -> String
LocalDateTime now = LocalDateTime.now();
        //s = 2022-06-20T18:42:35.332
        String s = now.toString();

Date 和 LocalDate 借助 Instance

Date date = new Date();
        //Date -> LocalDate
        LocalDate localDate = date.toInstant()
                .atZone(ZoneId.systemDefault()).toLocalDate();
        //Date -> LocalDateTime
        LocalDateTime localDateTime = date.toInstant()
                .atZone(ZoneId.systemDefault()).toLocalDateTime();
        System.out.println("localDate = " + localDate);
        System.out.println("localDateTime = " + localDateTime);
        //LocalDateTime -> Date
        Date from = Date
            .from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("from = " + from);

Date 和 String 借助 SimpleDateFormat

        String date = "2022/6/20 23:11:59";
        //String -> Date
        SimpleDateFormat dateFormat =
                new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
        Date parse = dateFormat.parse(date);
        //parse = Mon Jun 20 23:11:59 CST 2022
        System.out.println("parse = " + parse);

        //Date -> String
        String s = parse.toString();
        //s = Mon Jun 20 23:11:59 CST 2022
        System.out.println("s = " + s);

测一测,下面的代码是否报错?

        如果会报错,请现将那个 parse 发到评论区。然后自己CV玩一把看看吧~~~

        String timeStr = "2022/10/30";
        LocalDate parse = LocalDate.parse(timeStr,
                DateTimeFormatter.ofPattern("yyyy/MM/dd"));
        System.out.println("parse = " + parse);
        LocalDate parse2 = LocalDate.parse(timeStr,
                DateTimeFormatter.ofPattern("yyyy/M/dd"));
        System.out.println("parse2 = " + parse2);

        String timeStr2 = "2022/3/30";
        LocalDate parse3 = LocalDate.parse(timeStr2,
                DateTimeFormatter.ofPattern("yyyy/MM/dd"));
        System.out.println("parse3 = " + parse3);
        LocalDate parse4 = LocalDate.parse(timeStr2,
                DateTimeFormatter.ofPattern("yyyy/M/dd"));
        System.out.println("parse4 = " + parse4);

        String timeStr3 = "2022/03/30";
        LocalDate parse5 = LocalDate.parse(timeStr3,
                DateTimeFormatter.ofPattern("yyyy/MM/dd"));
        System.out.println("parse5 = " + parse5);
        LocalDate parse6 = LocalDate.parse(timeStr3,
                DateTimeFormatter.ofPattern("yyyy/M/dd"));
        System.out.println("parse6 = " + parse6);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值