java日期Date工具类 日期格式转换

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils {
    /**
     * 日期格式字符串转化为时间
     * 注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
     *
     * @param strDate 如:2020-02-24 02:24:15
     * @param format  如:yyyy-MM-dd HH:mm:ss
     * @return Date
     * @throws Exception
     */
    public static Date strDate2Date(String strDate, String format) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
     // 抛出异常
        Date date = simpleDateFormat.parse(strDate);
        return date;
    }

    /**
     * 时间转化为日期格式字符串
     *
     * @param date
     * @param format 如:yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static String date2StrDate(Date date, String format) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        String strDate = simpleDateFormat.format(date);
        return strDate;
    }

    /**
     * 时间戳转换成日期格式字符串
     *
     * @param seconds 精确到秒的字符串
     * @param format
     * @return
     */
    public static String timeStamp2Date(String seconds, String format) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (format == null || format.isEmpty()) {
            format = "yyyy-MM-dd HH:mm:ss";
        }
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(new Date(Long.valueOf(seconds + "000")));
    }

    /**
     * 日期格式字符串转换成时间戳
     *
     * @param strDate 字符串日期
     * @param format  如:yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static String date2TimeStamp(String strDate, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return String.valueOf(sdf.parse(strDate).getTime() / 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 取得当前时间戳(精确到秒)
     *
     * @return
     */
    public static String timeStamp() {
        long time = System.currentTimeMillis();
        String t = String.valueOf(time / 1000);
        return t;
    }

    public static void main(String[] args) {
        String timeStamp = timeStamp();
        System.out.println("timeStamp=" + timeStamp); //运行输出:timeStamp=1470278082
        System.out.println(System.currentTimeMillis());//运行输出:1470278082980
        //该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数

        String date = timeStamp2Date(timeStamp, "yyyy-MM-dd HH:mm:ss");
        System.out.println("date=" + date);//运行输出:date=2016-08-04 10:34:42

        String timeStamp2 = date2TimeStamp(date, "yyyy-MM-dd HH:mm:ss");
        System.out.println(timeStamp2);  //运行输出:1470278082

        //必须捕获异常
        try {
            String strDate = "2020-04-24 20:20:20";
            //注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
            Date strDate2Date = strDate2Date(strDate, "yyyy-MM-dd HH:mm:ss");
            System.out.println(strDate2Date);
            String res = date2StrDate(strDate2Date, "yyyyMMddHHmmss");
            System.out.println(res);
        } catch (ParseException px) {
            px.printStackTrace();
        }
    }
}

完!

posted @ 2020-04-24 16:08  壹玖玖肆  阅读(457)  评论(0编辑  收藏  举报