获取时间的工具类

获取时间的工具类


 //前N天的
    public static String getDateBefore() {

        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, -10); //得到前一天   这里设置天数
        Date date = calendar.getTime();
        DateFormat df = new SimpleDateFormat("yyyyMMdd");
        String format = df.format(date);
        return format;
    }

//本月第一天
getFirstDay();
 public static String getFirstDay() {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        Date theDate = calendar.getTime();

        GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
        gcLast.setTime(theDate);
        gcLast.set(Calendar.DAY_OF_MONTH, 1);
        String day_first = df.format(gcLast.getTime());
        StringBuffer str = new StringBuffer().append(day_first).append("");
        return str.toString();

    }
    //获取当前年份
  Date date = new Date();
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
  System.out.println(simpleDateFormat.format(getCurrYearFirst())

 public static Date getCurrYearFirst(){
        Calendar currCal=Calendar.getInstance();
        int currentYear = currCal.get(Calendar.YEAR);
        return getYearFirst(currentYear);
    }
    /**
     * 获取某年第一天日期
     * @param year 年份
     * @return Date
     */
    public static Date getYearFirst(int year){
        Calendar calendar = Calendar.getInstance();
        calendar.clear();
        calendar.set(Calendar.YEAR, year);
        Date currYearFirst = calendar.getTime();
        return currYearFirst;
    }







 public static void main(String[] args) throws ParseException {

//        System.out.println(LocalTime.now().getNano());
//        long startTime = System.nanoTime();
//        long consumingTime = System.nanoTime() - startTime;
//        System.out.println("操作消耗时间--" + consumingTime + "纳秒"+startTime);
//        System.out.println("当前:"+System.currentTimeMillis());
//        Date date = new Date();
//        System.out.println("date:"+date);
//        System.out.println("当前1:"+date.getTime());
//        Calendar calendar = Calendar.getInstance();
//        long time = calendar.getTimeInMillis();
//        System.out.println("当前二:"+time);


        //当前时间纳秒
        System.out.println(System.nanoTime());
        //当前时间毫秒
        long sd = System.currentTimeMillis();
        System.out.println(sd);



        //指定时间的毫秒

        SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String format1 = ss.format(new Date());
        Date date = ss.parse(format1);

        //获取毫秒数
        long longDate = date.getTime();
        System.out.println("指定时间"+longDate);


        //毫秒转换成   2021-01-04 14:15:00
        Date dat=new Date(longDate);
        GregorianCalendar gc = new GregorianCalendar();
        gc.setTime(dat);
        java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String sb=format.format(gc.getTime());
        System.out.println("转换指定时间"+sb);

        //前一小时的时间
        Date lastHourTime = getLastHourTime(new Date(), 1);
        String format2 = ss.format(lastHourTime);
        System.out.println(format2);
    }

    /**
     * 获取当前时间小时整点时间
     *
     * @param
     * @return
     */
    public static Date getCurrentHourTime() {
        return getHourTime(new Date(), 0, "=");
    }

    /**
     * 获取指定时间上n个小时整点时间
     *
     * @param date
     * @return
     */
    public static Date getLastHourTime(Date date, int n) {
        return getHourTime(date, n, "-");
    }

    /**
     * 获取指定时间下n个小时整点时间
     *
     * @param date
     * @return
     */
    public static Date getNextHourTime(Date date, int n) {
        return getHourTime(date, n, "+");
    }

    /**
     * 获取指定时间n个小时整点时间
     *
     * @param date
     * @return
     */
    public static Date getHourTime(Date date, int n, String direction) {
        Calendar ca = Calendar.getInstance();
        ca.setTime(date);
        ca.set(Calendar.MINUTE, 0);
        ca.set(Calendar.SECOND, 0);
        switch (direction) {
            case "+":
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY) + n);
                break;
            case "-":
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY) - n);
                break;
            case "=":
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY));
                break;
            default:
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY));
        }

        date = ca.getTime();
        return date;
    }


    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar c = Calendar.getInstance();

        //过去七天
        c.setTime(new Date());
        c.add(Calendar.DATE, + 7);
        Date d = c.getTime();
        String day = format.format(d);
        System.out.println("七天后:"+day);

        //过去一月
        c.setTime(new Date());
        c.add(Calendar.MONTH, +1);
        Date m = c.getTime();
        String mon = format.format(m);
        System.out.println("个月后:"+mon);

        //过去一年
        c.setTime(new Date());
        c.add(Calendar.YEAR, +1);
        Date y = c.getTime();
        String year = format.format(y);
        System.out.println("一年后:"+year);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值