package com.mcwl.common.utils; import com.alibaba.fastjson2.util.DateUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class ToDateUtils { /** 时间格式:yyyyMMddHHmmss'. */ public static String DEFAULT_PATTERN = "yyyyMMddHHmmss"; /** 时间格式:yyyyMMdd'. */ public static String yyyyMMdd = "yyyyMMdd"; /** 时间格式:yyyy-MM-dd'. */ public static String yyyy_MM_dd = "yyyy-MM-dd"; /** 时间格式:HH:mm:ss'. */ public static String HH_mm_ss = "HH:mm:ss"; /** 时间格式:yyyy-MM-dd' 'HH:mm:ss'. */ public static String yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd' 'HH:mm:ss"; /** 时间格式:yyyy-MM-dd' 'HH:mm'. */ public static String yyyy_MM_dd_HH_mm = "yyyy-MM-dd' 'HH:mm"; /** * 获取当前时间(格式:yyyyMMddHHmmss) * * @return */ public static String getCurrDate() { return getCurrDate(DEFAULT_PATTERN); } /** * 字符串转日期,默认格式为yyyyMMddHHmmss * * @param str * @return */ public static Date strToDate(String str) { return strToDate(str, DEFAULT_PATTERN); } /** * 日期格式化,默认格式为yyyyMMddHHmmss * * @param date * 日期 * @return */ public static String format(Date date) { return DateUtils.format(date, DEFAULT_PATTERN); } /** * 字符串转日期 * * @param str * 时间 * @param pattern * 格式 * @return */ public static Date strToDate(String str, String pattern) { SimpleDateFormat format = new SimpleDateFormat(pattern); Date date = null; try { date = format.parse(str); } catch (ParseException e) { e.printStackTrace(); } return date; } /** * 日期格式化 * * @param date * 日期 * @param pattern * 格式 * @return */ public static String format(Date date, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.format(date); } /** * 获取当前时间 * * @param pattern * 格式 * @return */ public static String getCurrDate(String pattern) { long d = System.currentTimeMillis(); Date date = new Date(d); return format(date, pattern); } /** * 获取系统当前时间 * * @return */ public static Date getSystemDate() { long d = System.currentTimeMillis(); Date date = new Date(d); return date; } /** * 格式化时间 * * @param strTime * @param pattern * @return */ public static String getTime(String strTime, String pattern) { SimpleDateFormat s = new SimpleDateFormat(pattern); try { return String.valueOf(s.parse(strTime).getTime());// 时间戳 } catch (ParseException e) { e.printStackTrace(); return String.valueOf(new Date().getTime()); } } /** * 格式化日期格式 * * @param date * @param mask * @return */ public static final String date2string(Date date, String style) { SimpleDateFormat sdf = new SimpleDateFormat(style); return sdf.format(date); } /** * 获取本地日期时间. * * @return 本地日期时间yyyyMMddHHmmss */ public static String getLocalFullDateTime14() { return date2string(new Date(), DEFAULT_PATTERN); } /** * 返回指定格式时间 * @param mask * @return */ public static final String now2string(String mask){ return date2string(new Date(), mask); } /** * * @param date * @param field * @param amount * @return 对指定的日期做加减运算;
* 减:add(new Date(), Calendar.DATE, -1)返回昨天的日期
* 加:add(new Date(), Calendar.YEAR, 1)返回一年后的今天 */ public static Date add(Date date, int field, int amount) { Calendar c = Calendar.getInstance(); c.setTime(date); c.add(field, amount); return c.getTime(); } /** * 返回需要格式的字符串时间 * @param str 字符串时间 * @param patternS 字符串格式 * @param patternE 格式化后的格式 * @return */ public static String strToStr(String str, String patternS,String patternE){ return format(strToDate(str,patternS),patternE); } }