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

访客8年前 (2018-01-24)java技术6932

 

公共方法可直接套用:


          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日

本文原创,转载必追究版权。

分享给朋友:

相关文章

HashMap中的Object(value值)以int类型取出

 根据jdk的情况使用  int value= (Integer) ((HashMap<String, Object>) object1).get("...

js限制input只能输入数字、英文、汉字

 1.只能输入数字和英文的:  <input onkeyup="value=value.replace(/[\W]/g,'') "...

java.lang.ClassNotFoundException: oracle.jdbc.driver.OralceDriver

 java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver这个错误;原因可能是 少了驱动 ,少包class...

使用Myeclipse 8.5开发基于JAX-WS的Web service实例

 本文为Web service 开发入门篇,主要介绍在Myeclipse 8.5环境下开发Web service的服务程序和客户端程序的基本流程。 在Weblogic 11g...

MyEclipse 10安装svn

MyEclipse 10安装svn

 方法一:在线安装(推荐)1.打开HELP->MyEclipse ConfigurationCenter。切换到SoftWare标签页。 2.点击Add Site 打开对话框...

开机密码忘记怎么办

1、重新启动计算机,在启动画面出现后马上按下F8键(不同类型型号电脑启动键不一样,参考附加),选择“带命令行的安全模式”。2、运行过程结束时,系统列出了系统超级用户“administrator”和本地...

发表评论

访客

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