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

1544年前 (2021-04-14)java技术1693

可写入工具类,直接调用即可:

public static String getChinaDate(String str) {
        try {
            if(str==null ){
                return getChinaCurrentDate();
            }
            str = str.trim();
            String year = "";
            String month = "";
            String day = "";
//                  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 = str.substring(0, 4);
                    month = str.substring(5, 7);
                    day = str.substring(8, 10);
                }
                else if (str.length() == 8) {
                    year = str.substring(0, 4);
                    month = str.substring(4, 6);
                    day = str.substring(6, 8);
                }
                else if (str.length() == 6) {
                    year = str.substring(0, 4);
                    month = str.substring(4, 6);
                }
                if (day.equals(""))
                    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(getChinaDate("2021-05-16"));
    }

运行打印结果:2021年05月16日

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

分享给朋友:

相关文章

plsql 中number类型字段 取消科学计数法显示

 PL/SQL DEVELOPER中禁用科学计数法:Tools - Prefrence - SQL Window - 选择:"Number fields to_char&quo...

如何彻底卸载删除oracle数据库

 windows下如何彻底删除Oracle 软件环境: 1、Windows 2000+ORACLE 8.1.7 ,oracle 10g2、ORACLE安装路径为:C:\ORACLE实现方...

MyEclipse 8.5 新建 基于Xfire的webservice

MyEclipse 8.5 新建 基于Xfire的webservice

 使用Xfire实现Web Services,作业应当包括相关的实现软件代码以及对应的WSDL。 MyEclipse 8.5,XFire 1.2.6,weblogic 11g/TomcatX...

freeMarker 截取字符串(操作字符串函数 )

<#if c.proSummary!?length gt 25>  <!-- 如果长度 >25 截取25个字-->    ...

MyEclipse 报错:'Building workspace' has encountered a problem解决方法

MyEclipse 报错:'Building workspace' has encountered a problem解决方法

          每次MyEclipse运行 工作空间报错如下:'Building workspac...

开机密码忘记怎么办

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

发表评论

访客

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