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

访客7年前java技术5855

 

公共方法可直接套用:


          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日

相关文章

java实现按范围搜索附近人(Jfinal框架)

Jfinal框架实现按范围搜索附近人,并按距离升序排序,实例代码:公共类Localtion:    /**     * 生成以中心...

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

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

showModalDialog取得父窗口的方法

 通常使用window.open的方式开启新窗口的话要取得父窗口的控件,可以用window.opener来取得父窗口然而如果使用showModalDialog的话...却无效如果有需要的话,...

java实现合并多个word文档 且可换页 实例代码(基于docx4j)

org.docx4j/docx4j/ Maven依赖写法Maven下载jar包<dependency>    <groupId>org.docx4...

java 实现自增编号+Oracle序列

原理:a,a++,fillStr(a, 9, false, "0");新建序列:create sequence seq_lineminvalue 1maxvalue 9999999...

ejb项目发布注意事项

 部署ejb的服务建好后,找到ejb部署的服务的启动文件:如D:\Oracle\Middleware\user_projects\domains\wssscx\bin\startWebLog...

发表评论    

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