java实现将“yyyy-MM-dd”格式字符串转化成“yyyy年M月d日”格式

访客6年前java技术5803

 

公共方法可直接套用:


          public static String getChinaDateFromString(String str) {
                try {
                    if(str==null ){
                        return getChinaCurrentDate();
                     }
                  str = str.trim();
                  int year = 0;
                  int month = 0;
                  int day = 0;
//                  System.out.println("==="+str);
                  if(str==null || str.equals("null") || str.equals("")){
                     return getChinaCurrentDate();
                  }
                  else if (str.indexOf("年") > 0||str.indexOf("月") > 0||str.indexOf("日") > 0) {
                    return str;
                  }
                  else {
                    if (str.length() == 10 && (str.indexOf("-") > 0)) { // by meconsea  add str.indexOf("-") > 0
                      year = Integer.parseInt(str.substring(0, 4));
                      month = Integer.parseInt(str.substring(5, 7));
                      day = Integer.parseInt(str.substring(8, 10));
                    }
                    else if (str.length() == 8) {
                      year = Integer.parseInt(str.substring(0, 4));
                      month = Integer.parseInt(str.substring(4, 6));
                      day = Integer.parseInt(str.substring(6, 8));
                    }
                    else if (str.length() == 6) {
                      year = Integer.parseInt(str.substring(0, 4));
                      month = Integer.parseInt(str.substring(4, 6));
                    }
                    if (day == 0)
                      str = year + "年" + month + "月";
                    else
                      str = year + "年" + month + "月" + day + "日";

                  }
                }
                catch (Exception e) {
                  e.printStackTrace();
                }
                return str;
              }
            
          public static String getChinaCurrentDate() {
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
                String str_date = dateFormat.format(Calendar.getInstance().getTime());
                str_date = str_date.substring(0, 4) + "年" + str_date.substring(4, 6) + "月" +
                    str_date.substring(6, 8) + "日 ";
                return str_date;
              }

      public static void main(String[] args) {
            System.out.println(getChinaDateFromString("2017-01-01"));
        }

测试运行结果:2017年1月1日

相关文章

api.js获取下拉列表select选中的值 及文本

 APIcloud中常用 ,api.js获取下拉列表select选中的值 及文本 var area =  var index = $api.byId('areal...

美图蔡文胜:出身、学历不重要,我来教你怎么遇贵人

美图蔡文胜:出身、学历不重要,我来教你怎么遇贵人

在这封感谢信中,你看到了他是如何从一个懵懂少年到商业领袖的奋斗励志过程,读后令人心情澎湃。而闭目思索,又让你唏嘘不已。人的一生之中如果你没有遇到贵人,真的什么都不是。  令人羡慕的是,老蔡在自己人生每...

面对父母的笑容,心情却再也无法平静

      昨天中午,是个周天。依然是打算在家休息一天。吃完中饭,发现姐姐发来的信息,问我在干嘛?随便回了句在休息,怎么了?过了许久,姐姐回了个没事,我也就没太在意。&n...

get方式调用http接口   Header赋参数值

get方式调用http接口 Header赋参数值

   /**      195.     * 发送...

api.js弹出各种窗口

api.js弹出各种窗口

一、弹出确认窗口,如:api.confirm({            &nbs...

若依ruoyi-cloud前后端linux宝塔面板部署(文章免费)

若依ruoyi-cloud前后端linux宝塔面板部署(文章免费)

研究了很多天,入了很多坑,才部署成功。按下面步骤成功避开n多坑。主要分为4个步骤:安装并启动nacos;后端部署,前端部署,成功访问。1.安装nacos。将安装包nacos-server-2.0.1....

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。