加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:将字符串日期转换为月份名称年份(MMM yyyy)

发布时间:2020-12-14 17:43:57 所属栏目:Java 来源:网络整理
导读:我是 Java新手.我正在尝试将日期从字符串转换为MMM yyyy格式(2016年3月).我试过这个 Calendar cal=Calendar.getInstance();SimpleDateFormat month_date = new SimpleDateFormat("MMM yyyy");String month_name = month_date.format(cal.getTime());System.o
我是 Java新手.我正在尝试将日期从字符串转换为MMM yyyy格式(2016年3月).我试过这个
Calendar cal=Calendar.getInstance();
SimpleDateFormat month_date = new SimpleDateFormat("MMM yyyy");
String month_name = month_date.format(cal.getTime());
System.out.println("Month :: " + month_name);  //Mar 2016

它工作正常.但是当我使用时

String actualDate = "2016-03-20";

它不起作用.帮助我,如何解决这个问题.

解决方法

您的格式必须与您的输入相符

2016-03-20

格式应该是(只使用第二个SimpleDateFormat对象)

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

完整答案

SimpleDateFormat month_date = new SimpleDateFormat("MMM yyyy",Locale.ENGLISH);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String actualDate = "2016-03-20";

Date date = sdf.parse(actualDate);

String month_name = month_date.format(date);
System.out.println("Month :" + month_name);  //Mar 2016

使用java.time java-8

String actualDate = "2016-03-20";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd",Locale.ENGLISH);
DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("MMM yyyy",Locale.ENGLISH);
LocalDate ld = LocalDate.parse(actualDate,dtf);
String month_name = dtf2.format(ld);
System.out.println(month_name); // Mar 2016

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读