String data="2021-02-24 24:21:00";
转换成2021-02-24
如果只是问题里的这种格式的话, 分割空格最简单了
@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 (); } }
正确的做法应该是把String转换成Date对象,然后设置格式位yyyy-MM-dd对象然后在转换成String对象。直接截取是不可靠的。
data.subString(0,10);
1.data.substring(0, 10)
2.data.split(" ")[0]
3.用DateUtil转换成Date,然后再格式化为yyyy-MM-dd
//格式化的逆过程:字符串 --> 日期
String data="2021-02-24 24:21:00";
//使用自定义的格式
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
//格式化
String format = sdf2.format(date);
System.out.println(format);
String data="2021-02-24 24:21:00";
//使用自定义的格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//格式化
System.out.println(format.format(date));
SimpleDateFormat 好像是线程不安全的
data.split("\\s+")[0]; //其实我想要的是这样子
直接截取前10位的可以吗
data.split(" ")[0]
data.substring(0, 10)