TmsTimeUtils 時間戳

package com.sprucetec.tms.utils;import java.math.BigDecimal;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 時間工具類 *  * Title: TmsTimeUtils.java<br> * Description: <br */public class TmsTimeUtils {    /**     * 根據傳入的時間字符串,得到unix對應的時間戳格式     *      * @author liuqiang(liuqang@meicai.cn)      * 2016年3月12日     * @param day     * @return     */    public static Integer getDayUnixTimeStamp(String day) {        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Date date;        try {            date = df.parse(day);            Calendar cal = Calendar.getInstance();            cal.setTime(date);            long timestamp = cal.getTimeInMillis();            return Integer.valueOf((int) (timestamp / 1000));        } catch (ParseException e) {            e.printStackTrace();        }        return 0;    }    /**     * 將日期轉換爲 時間戳     * @author yangweiqiang 2016.12.01     * @param date     * @return     */    public static Integer getDayUnixTimeStamp(Date date){        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");        String day = df.format(date);        return getDayUnixTimeStamp(day);    }    /**     * 獲取當天日期的unix時間戳     *      * @author liuqiang(liuqiang@meicai.cn)      * 2016年3月12日     * @return     */    public static Integer getTodayUnixTimeStamp() {        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Date date = new Date();        String day = df.format(date);        return getDayUnixTimeStamp(day);    }        /**     * 得到當前系統時間戳     * @author  liuqiang(liuqiang@meicai.cn)     * 2016年3月20日     * @return     */    public static Integer getNowTimeStamp() {        Integer now = 0;        Long time = System.currentTimeMillis() / 1000;        now = time.intValue();        return now;    }    /**     * 描述: 將秒轉換爲指定格式化的日期     * @author yangweiqiang     * @param timeStamp 秒數     * @param format 格式化 yyyy-MM-dd等     * @date   2016/8/15     */    public static String getFormatDate(Integer timeStamp,SimpleDateFormat format){        return format.format(new Date(timeStamp * 1000L));    }    /**     * 獲取某月最大的天數     * @author yangweiqiang     * @param time 日期     * @param format 日期格式化類型     * @date   2016/8/3     * @return 實際最大天數     */    public static int getMaxDayOfMonth(String time,SimpleDateFormat format){        try {            Date date = format.parse(time);            Calendar calendar = Calendar.getInstance();            calendar.setTime(date);            return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);        } catch (ParseException e) {            e.printStackTrace();        }        return 0;    }    /**     * 獲取昨天的時間戳     * @return     */    public static int getPreDayByToday(Integer days){        return getTodayUnixTimeStamp() + 86400 * days;    }    /**     * 獲取指定天的推遲天時間戳     * @param time     * @param days     * @return     */    public static int getPreDayBy(Integer time,Integer days){        return time + 86400 * days;    }    /**     * 獲取指定天的推遲天時間戳     * @param time     * @param days 增長的天數     * @return     */    public static int getPreDayBy(String time,Integer days){        return getDayUnixTimeStamp(time) + 86400 * days;    }    /**     * 根據時間戳獲取日期(此日期爲幾號)     * @param date     * @return     */    public static int getDayBy(Integer date){        Calendar cal = Calendar.getInstance();        cal.setTime(new Date((long)date * 1000));        return cal.get(Calendar.DAY_OF_MONTH);    }    /**     * 獲取上個月第一天的Unix時間戳     */    public static Integer getLastMonthFirstDayUnixTimeStamp() {        Calendar cal = Calendar.getInstance();        cal.setTime(new Date());        cal.add(Calendar.MONTH, -1);        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));        Date lastMonthFirstDay = cal.getTime();        return TmsTimeUtils.getDayUnixTimeStamp(lastMonthFirstDay);    }    /**     * 獲取上個月最後一天的Unix時間戳     */    public static Integer getLastMonthLastDayUnixTimeStamp() {        Calendar cal = Calendar.getInstance();        cal.setTime(new Date());        cal.add(Calendar.MONTH, -1);        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));        Date lastMonthLastDay = cal.getTime();        return TmsTimeUtils.getDayUnixTimeStamp(lastMonthLastDay);    }    /**     * 獲取本月第一天的Unix時間戳     */    public static Integer getThisMonthFirstDayUnixTimeStamp() {        Calendar cal = Calendar.getInstance();        cal.setTime(new Date());        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));        Date thisMonthFirstDay = cal.getTime();        return TmsTimeUtils.getDayUnixTimeStamp(thisMonthFirstDay);    }        public static void main(String[] args) {//      System.out.println(TmsTimeUtils.getDayUnixTimeStamp("2016-03-12"));//      System.out.println(TmsTimeUtils.getTodayUnixTimeStamp());        System.out.println(getLastMonthFirstDayUnixTimeStamp());        System.out.println(getLastMonthLastDayUnixTimeStamp());        System.out.println(getThisMonthFirstDayUnixTimeStamp());    }}
相關文章
相關標籤/搜索