DateUtil 日期常用工具
/** * 日期处理工具类 * @author BIANDONGYU850 * @date 2012-7-26 下午07:38:46 * @path com.pingan.saims.scms.common.util * @description */ public class DateUtil { /** * 默认日期格式化字符串:yyyy-MM-dd */ public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd" ; //日期格式化对象 private static SimpleDateFormat sdf = new SimpleDateFormat(); /** * 将日期对象按照指定的格式转换成字符串 *@description *@date 2012-7-26 *@author BIANDONGYU850 *@param date *@param formatStr *@return} */ public static String formatDateToString(Date date,String formatStr){ synchronized (sdf) { sdf = new SimpleDateFormat(formatStr); return sdf.format(date); } } /** * 将字符串对象按照指定的格式转换成日期 *@description *@date 2012-7-26 *@author BIANDONGYU850 *@param date *@param formatStr *@return} * @throws ParseException */ public static Date formatDateToString(String dateString,String formatStr) throws ParseException{ synchronized (sdf) { sdf = new SimpleDateFormat(formatStr); return sdf.parse(dateString); } } /** * 将日期对象按照默认的格式转换成字符串 *@description *@date 2012-7-26 *@author BIANDONGYU850 *@param date *@return} */ public static String formatDateToString(Date date){ return formatDateToString(date,DEFAULT_DATE_FORMAT); } /** * 将字符串对象按照默认的格式转换成日期类型 *@description *@date 2012-8-9 *@author EX-ZHANGWEI001 *@param date *@return} * @throws ParseException */ public static Date formatStringToDate(String date) throws ParseException { if (date != null ) { synchronized (sdf) { sdf = new SimpleDateFormat(DEFAULT_DATE_FORMAT); return sdf.parse(date); } } else { return null ; } } /** * 获取当天年,月,日 *@description *@date 2012-8-2 *@author EX-ZHANGWEI001 *@param dateFlag *@return} */ public static String getYearOrMonthOrDay(String dateFlag) { // 设置年、月、日 dateFlag = dateFlag.toLowerCase(); String date = formatDateToString( new Date()); String year = date.substring( 0 , 4 ); String month = date.substring( 5 , 7 ); String day = date.substring( 8 , 10 ); if ( "yyyy" .equals(dateFlag)) { return year; } else if ( "mm" .equals(dateFlag)) { return month; } else { return day; } } /**获取日期 * * @param date 带时分秒的日期 2010-10 10:10:10 * @return 不带时分秒的日期 2010-10-10 * @throws ParseException */ public static Date getDateToDate(Date date) throws ParseException { sdf = new SimpleDateFormat( "yyyy-MM-dd" ); synchronized (sdf) { String dateString = sdf.format(date); return sdf.parse(dateString); } } /**加减日期时间 * * @param date 计算的日期时间 * @param daynum 秒数(负数表示几天前,正数表示几天后) * @return 计算后的日期 */ public static Date apDatetime(Date date, int secondnum) throws ParseException { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.SECOND, secondnum); return calendar.getTime(); } /**加减日期 * * @param date 计算的日期 * @param daynum 天数(负数表示几天前,正数表示几天后) * @return 计算后的日期 */ public static Date apDate(Date date, int daynum) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DATE, daynum); return calendar.getTime(); } } |
DateUtil 日期常用工具,包括加减日期时间等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?