1. 程式人生 > 其它 >時間格式的轉換:時間戳與特定格式時間的轉換

時間格式的轉換:時間戳與特定格式時間的轉換

import cn.hutool.core.date.DateUtil;

import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateHelper {
    /**
     * @param dateStr yyyy-MM-dd
     * @return
     */
    public static Integer getStartDay(String dateStr) {
        Date date = DateUtil.parse(dateStr);
        long timeStamp = DateUtil.beginOfDay(date).getTime();
        int time = (int) (timeStamp / 1000);
        return time;
    }

    /**
     * @param dateStr yyyy-MM-dd
     * @return
     */
    public static Integer getEndDay(String dateStr) {
        Date date = DateUtil.parse(dateStr);
        long timeStamp = DateUtil.endOfDay(date).getTime();
        int time = (int) (timeStamp / 1000);
        return time;
    }

    public static String getDateByIngter(Integer dateTime) {
        if (dateTime == null || dateTime <= 0) {
            return "";
        }
        Date date = new Date(dateTime.longValue() * 1000);
        return DateUtil.format(date, "yyyy-MM-dd HH:mm:ss");
    }

    public static Integer getDateTimeStamp() {
        long timeStamp = DateUtil.date().getTime();
        int time = (int) (timeStamp / 1000);
        return time;
    }

    public static Integer getDateTimeStampByDate(Date date) {
        long timeStamp = date.getTime();
        int time = (int) (timeStamp / 1000);
        return time;
    }

    public static String getDateFormat(Date date) {
        return DateUtil.format(date, "yyyy-MM-dd HH:mm:ss");
    }

    public static Date getStartDate(String dateStr) {
        Date date = DateUtil.parse(dateStr);
        return DateUtil.beginOfDay(date);
    }

    public static Date getEndDate(String dateStr) {
        Date date = DateUtil.parse(dateStr);
        return DateUtil.endOfDay(date);
    }

    /**
     * 獲取次月第一天
     * @return
     */
    public static Integer getFirstDayOfNextMonth() {
        Date date = DateUtil.nextMonth();
        long timeStamp = DateUtil.beginOfMonth(date).getTime();
        int time = (int) (timeStamp / 1000);
        return time;
    }

    //獲取當月第一天
    public static String getFirstDayOfMonth() {
        Date date = DateUtil.beginOfMonth(new Date());
        return DateUtil.format(date, "yyyy-MM-dd");
    }

    //獲取當月最後一天
    public static String getLastDayOfMonth() {
        Date date = DateUtil.endOfMonth(new Date());
        return DateUtil.format(date, "yyyy-MM-dd");
    }

    //獲取指定月份的第一天
    public static String getFirstDayOfMonth(Date date) {
        Date tmp = DateUtil.beginOfMonth(date);
        return DateUtil.format(tmp, "yyyy-MM-dd");
    }

    //獲取指定月份的最後一天
    public static String getLastDayOfMonth(Date date) {
        Date tmp = DateUtil.endOfMonth(date);
        return DateUtil.format(tmp, "yyyy-MM-dd");
    }

    //獲取當前時間的下個月
    public static String getNextMonth(Long nowTime) {
        if (nowTime == null || nowTime <= 0) {
            return "";
        }
        String dataTime = DateUtil.format(new Date(nowTime), "yyyy-MM-dd");
        //時間字串轉 LocalDate 型別
        LocalDate today = LocalDate.parse(dataTime);
        //當前月份+(-1)
        today = today.minusMonths(-1);
        //LocalDate日期格式是"YYYY-MM-DD",只需要用toString()就可以轉化成字串型別
        return today.toString();
    }

    //獲取指定時間的下一年
    public static Long getNextYear(Long nowTime) {
        Calendar calendar   =   new GregorianCalendar();
        Date date = new  Date(nowTime) ;
        calendar.setTime(date);
        calendar.add(Calendar.YEAR, 1);
        return calendar.getTime().getTime();
    }

}