首页 > 编程知识 正文

java 日期格式化为yyyy/mm/dd,java 日期格式化为yyyy-mm-dd mmss

时间:2023-05-04 18:18:18 阅读:246088 作者:4448

我们在后端的开发过程中会经常跟日期相关的类型打交道,不过我们大多数在开发过程中遇到的格式都是基本的 年-月-日(yyyy-MM-dd)格式。当然,这种格式的日期我们都可以用Java自带的SimpleDateFormat类自带的转换方法来进行转换以达到我们平时开发所要达成的目的。不过在个人开发中,我所见到过的格式还有另外一种,英文日期格式,如下图。

第一次遇到这种陌生的日期格式时可能我们也会依然想要用经典的方法尝试一下,如下图。

然后整个人可能都会懵逼掉。

报错的行就是调用parse方法的那行,报错原因就是这个英文格式的日期不是我们所填入的yyyy-MM-dd格式导致无法解析,这里先把这个英文的格式放出来:EEE MMM dd HH:mm:ss z yyyy
然后我们将此格式填入到SimpleDateFormat的参数中,但是这里需要注意一下,这里在新建SimpleDateFormat对象时需要指定日期格式。如下图,第一个构造器是平时使用的,它里面会调用第二个构造器,不过传入的参数是Locale.Category.FORMAT,而这个FORMAT参数是不支持英文日期转换的。

改造过后的SimpleDateFormat构造器参数如下图。

最终代码如下(放在main方法中可以自行编辑测试):

String str = "Wed Apr 22 05:12:10 CST 2020"; SimpleDateFormat sdf1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); Date parse = null; try { parse = sdf1.parse(str); System.out.println(parse); } catch (ParseException e) { e.printStackTrace(); } System.out.println(sdf2.format(parse));

输出内容如下:

也就是先将String类型的英文格式日期转成对应的Date类型对象,然后再将这个对象用普通的转换方法转换即可。
仅限于String类型的英文日期,如果是Date类型的英文日期可尝试直接使用new SimpleDateFormat(“yyyy-MM-dd”)转换。

该文章仅供参考,如有错误或缺漏欢迎各位指点迷津。

cdhmanager-cdhmanager是什么vue parseHTML函数源码解析start钩子函数RabbitMQ管理界面怎么使用

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。