Java常用工具类大集合(一)

252 阅读2分钟

这是我参与更文挑战的第6天,活动详情查看: 更文挑战


一、时间工具类,根据本月时间获取上月一号零点零时零分零秒

这次项目中,遇到一个需求,只查看当前月份和上个月的数据。本月时间容易,new Data() 就可以了,但是获取上个月时间,并且还得是上个月1号零时就有点麻烦了。

public class ObtainTime {

public static String lastMonth(){

//处理时间,格式化时间为固定格式

        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Calendar nowTime=Calendar.getInstance();//获取当前日期

        nowTime.add(Calendar.MONTH, -1);//当前月份减1,为上一个月

        nowTime.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天

        nowTime.set(Calendar.HOUR_OF_DAY, 0);//将小时至零

        nowTime.set(Calendar.MINUTE, 0);//将分钟至零

        nowTime.set(Calendar.SECOND, 0);//将秒至零

        nowTime.set(Calendar.MILLISECOND, 0);//将毫秒至零

        String lastMonth = sdf.format(nowTime.getTime());

        return lastMonth;
    }
}

打印效果:

效果图

至于为什么我写的返回是Sting类型,因为返回是Data的话,接收的时候需要再次格式化才能到sql语句里面使用,不然还是英文时间格式。

二、java实现阿拉伯数字转换成中文数字显示

话不多说,直接贴代码:

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        String str = scanner.next();
        //定义转换后显示数组
        String[] alabo = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
        String[] zwhz = { "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千" };
        String digital = "";
        int n = str.length();
        for (int i = 0; i < n; i++) {
            int o = str.charAt(i) - '0';
            if (i != n - 1 && o != 0) {
                digital += alabo[o] + zwhz[n - 2 - i];
            } else {
                digital += alabo[o];
            }
        }
        System.out.println("转换结果为:"+digital);

打印效果:

阿拉伯数字转换中文数字

三、时间工具类,获取指定日期前length月份集合

需求:根据当前日期查询半年内的数据。可以跨年哦~

/**
     * 获取指定日期前length月份集合
     *
     * @param dateKey 当前时间月份
     * @param length  月份,向前推几个月
     * @Author: DingYongJun
     * @return  返回当前月份和前推的月份
     */
```java
    public static String[] getDateBeforeMonth(String dateKey, Integer length){
        String[] arrData = new String[2];
        try {
            //dateKey是传进来的日期,length是所需要前推的月份
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
            Calendar c = Calendar.getInstance();
            Date nowMonth = format.parse(dateKey);
            c.setTime(nowMonth);
            c.add(Calendar.MONTH, -length);
            Date m3 = c.getTime();
            String mon3 = format.format(m3);
            System.out.println("过去"+length+"个月:"+mon3);
            arrData[0] = mon3;
            arrData[1] = dateKey;
            return arrData;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return arrData;
    }
}

点赞收藏加关注不迷路哦~