Java 时间转换与获取凌晨时间(工具类)

    /**
     * title      : 获取当前时间
     * creat_user : fyk
     * creat_date : 2019/4/3 10:08
     * params     : 当前时间
     **/
    public static String getPunchTime() {
        //获取一个Date对象
        Date date = new Date();
        DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   //创建一个格式化日期对象
        String punchTime = simpleDateFormat.format(date.getTime());   //格式化后的时间
        return punchTime;
    }

    /**
     *  获取指定时间的凌晨时间
     * @author : fyk
     * @create : 2019/10/9 9:58
     * @param: day 天  为0 就是获取当天  1 往后加一天  -1 前退一天
     **/
    public static String getEndTimestamp(Integer day) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.add(Calendar.DAY_OF_MONTH, day);
        Date start = calendar.getTime();
        Timestamp timestamp = new Timestamp(start.getTime());
        return formatDate(timestamp.getTime());
    }

    /**
     * title      : 把long类型的时间 转换成 yyyy-MM-dd HH:mm:ss 格式
     * creat_user : fyk
     * creat_date : 2019/4/10 8:55
     * params     : date long类型的时间
     * return     : dateTime
     **/
    public static String formatDate(Long date) {
        String dateTime = "";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dateTime = simpleDateFormat.format(date);
        return dateTime;
    }

    /**
     * title      : 字符串类型的时间转long
     * creat_user : fyk
     * creat_date : 2019/4/10 9:08
     * params     : date 字符串类型的时间
     * return     : Long
     **/
    public static Long formatDate(String date) {
        long log = 0L;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            log = simpleDateFormat.parse(date).getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return log;
    }

    /**
     *  给当前天日期(获取到天不获取到时)加减天数
     * @author : fyk
     * @create : 2019/8/30 11:25
     **/
    public static String getOneDay(int days) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, days); //得到前一天
        Date date = calendar.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String lastDate = format.format(date);
        return lastDate;
    }

    /**
     * title      : 获取年
     * creat_user : fyk
     * creat_date : 2019/4/8 16:36
     * return     : Stirng
     **/
    public static String getTimeYear() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
        Date now = new Date();
        Date afterDate = new Date(now.getTime());
        return sdf.format(afterDate);
    }

    /**
     * title      : 给某个时间增加 N年
     * creat_user : fyk
     * creat_date : 2019/4/8 16:54
     * parmar     : date z指定的时间   year  指定年
     * return     : String
     **/
    public static String getYearAddOne(String date, int year) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date parse = null;
        try {
            parse = format.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(parse);
        calendar.add(calendar.YEAR, year);              //把日期往后增加一年.整数往后推,负数往前移动
        String lastDate = format.format(calendar.getTime());
        return lastDate;
    }

    /**
     * title      :  随机生成订单号
     * 当前时间的年月日时分秒毫秒+随机五位
     * creat_user : fyk
     * creat_date : 2019/4/3 10:10
     * return     : String
     **/
    public static String getRandomFileName() {
        SimpleDateFormat simpleDateFormat;
        simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = new Date();
        String str = simpleDateFormat.format(date);
        Random random = new Random();
        int rannum = (int) (random.nextDouble() * (99999 - 10000 + 1)) + 10000;// 获取5位随机数
        return str + rannum;// 当前时间 + 系统5随机生成位数
    }

自己工具包关于时间的几个简单方法。。

发布了76 篇原创文章 · 获赞 47 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_40058321/article/details/102454765