qq_45151414
键道万古如长夜
采纳率28.6%
2021-02-24 16:20

String类型的完整日期怎么截取年月日 去掉时分秒

String data="2021-02-24 24:21:00";

转换成2021-02-24

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

11条回答

  • weixin_43807244 木风可可 1月前

    如果只是问题里的这种格式的话, 分割空格最简单了

    点赞 评论 复制链接分享
  • weixin_42779514 乔治的小宝贝 15天前

    data.split(" ")[0]

    data.substring(0, 10)

     

    点赞 评论 复制链接分享
  • qq_33299630 qq_1945247808 15天前

    直接截取前10位的可以吗

    点赞 评论 复制链接分享
  • qq_45151414 键道万古如长夜 1月前

    data.split("\\s+")[0];  //其实我想要的是这样子

    点赞 评论 复制链接分享
  • weixin_47288900 p L A N E T 2月前
    @org.junit.Test
    public void test01 () {
        try {
            String data = "2021-02-24 24:21:00";
            SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
    
            String date = sdf.format (sdf.parse (data));
            System.out.println (date);
        } catch (ParseException e) {
            e.printStackTrace ();
        }
    }
    点赞 评论 复制链接分享
  • weixin_42534024 何必要如此 2月前

         SimpleDateFormat  好像是线程不安全的  

    点赞 评论 复制链接分享
  • weixin_43831918 weixin_43831918 2月前

     
            String data="2021-02-24 24:21:00";
            //使用自定义的格式
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            //格式化
            System.out.println(format.format(date));

    点赞 评论 复制链接分享
  • csnz123123 尋夢像撲火 2月前

            //格式化的逆过程:字符串 --> 日期  
            String data="2021-02-24 24:21:00";
            //使用自定义的格式
            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
            //格式化
            String format = sdf2.format(date);
            System.out.println(format);

    点赞 评论 复制链接分享
  • qq_40062618 qq_1113502097 2月前

    正确的做法应该是把String转换成Date对象,然后设置格式位yyyy-MM-dd对象然后在转换成String对象。直接截取是不可靠的。

    点赞 1 评论 复制链接分享
  • vbhfdghff hweiyu00 2月前

    1.data.substring(0, 10)

    2.data.split(" ")[0]

    3.用DateUtil转换成Date,然后再格式化为yyyy-MM-dd

    点赞 评论 复制链接分享
  • i__0o0__ i__0o0__ 2月前

    data.subString(0,10);

    点赞 评论 复制链接分享