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

1545年前 (2021-04-14)java技术2444

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

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日

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

分享给朋友:

相关文章

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

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

坑爹的ShowModalDialog 后台传值解决方案

 今天遇到需要ShowModalDialog打开页面,通过acceptanceIds 参数值后台过滤出相应结果前台  var url = "loadAccept...

是谁动了我的座位

是谁动了我的座位

女孩一上火车,见自己的座位上坐着一男士。她核对自己的票,客气地说:“先生,您坐错位置了吧?” 男士拿出票嚷嚷着:“看清楚点,这是我的座,你瞎了?” 女孩仔细看了他的票,不再做声,默...

目标管理法——目标分解法

让自己的人生更幸福更有意义关键是:要将梦想转化为具体的目标,然后合理的分解,达到量化,指标化!现将学习到的两种非常有效的目标分解法分享给所有梦想、有激情的朋友:祝愿大家都能梦想成真! 一、俄...

Java 实现用户资料完整度的前端显示(或根据填写资料自动评分)

前端使用 Bootstrap 的进度条组件显示百分比,后台读取权重并计算信息完整度,并将计算的结果返回给前端,供页面显示。CSS1<link href="static/sc/...

dwz+jfinal 市县下拉菜单二级联动(实例)

在DWZ文档中对组合框combox的是这样描述的:在传统的select 用class 定义:class=”combox”, html 扩展:保留原有属性name,  增加了属性:ref。re...

发表评论

访客

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