日期时间工具类
package com.zxwa.ntmss.process.common.util.date; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; import com.zxwa.ntmss.process.common.util.StringUtils; import org.apache.commons.lang.time.DateFormatUtils; import com.zxwa.ntmss.process.common.constants.TableNameConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DateUtils { private static Logger LOG = LoggerFactory.getLogger(DateUtils.class); public static long MIX_TIMESTAMP=283968000l; public static long MAX_TIMESTAMP=92233720368l; public static String FORMAT_HOUR="yyyyMMddHH0000"; /** * 方法名:getLastDay * 描述:获取昨天数据 * 参数: * @param * @return java.lang.String * 作者:- * 日期:2018/1/16 16:32 * 历史: * 2018/1/16 16:32,,创建 */ public static String getLastDay(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMMdd"); return date; } /** * 方法名:getDay * 描述:获取今天日期 * 参数: * @param * @return java.lang.String * 作者:- * 日期:2018/1/16 16:32 * 历史: * 2018/1/16 16:32,,创建 */ public static String getDay(){ Calendar calendar = Calendar.getInstance(); String date=DateFormatUtils.format(calendar, "yyyyMMddHHmmss"); return date; } /** * 方法名:getLastDayWeek * 描述:获取昨天是一年中的第一周 * 参数: * @param * @return java.lang.String * 作者:- * 日期:2018/1/16 16:32 * 历史: * 2018/1/16 16:32,,创建 */ public static String getLastDayWeek(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyww"); return date; } public static String getLastDayWeekNoformat(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyw"); return date; } /** * 方法名:getLastDayMon * 描述:获取昨天的月份 * 参数: * @param * @return java.lang.String * 作者:- * 日期:2018/1/16 16:33 * 历史: * 2018/1/16 16:33,,创建 */ public static String getLastDayMon(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMM"); return date; } /** * 方法名:getLastDayYear * 描述:获取昨天的年份 * 参数: * @param * @return java.lang.String * 作者:- * 日期:2018/1/16 16:33 * 历史: * 2018/1/16 16:33,,创建 */ public static String getLastDayYear(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyy"); return date; } /** * 方法名:getLastMonDay * 描述:获取上个月的今天日期 * 参数: * @param * @return java.lang.String * 作者:- * 日期:2018/1/16 16:33 * 历史: * 2018/1/16 16:33,,创建 */ public static String getLastMonDay(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMMdd"); return date; } /** * 方法名:getLastNDayBefore * 描述:获取N天前的日期 * 参数: * @param n * @return java.lang.String * 作者:- * 日期:2018/1/16 16:34 * 历史: * 2018/1/16 16:34,,创建 */ public static String getLastNDayBefore(int n){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -n);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMMdd"); return date; } public static String getLastMonMon(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMM"); return date; } public static String getLastMonYear(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyy"); return date; } public static String getLastYearDay(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1);// 日期减1 calendar.add(Calendar.YEAR, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMMdd"); return date; } public static String getLastYearMon(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyyMM"); return date; } public static String formatDataDay(String str){ if(!StringUtils.isEmpty(str)&&str.length()>8){ return str.substring(0,8); }else{ return "19790101"; } } public static String getLastYear(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyy"); return date; } public static String formatNoFormatDate(String str){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, -1);// 日期减1 String date=DateFormatUtils.format(calendar, "yyyy"); return date; } public static String unixTimeFormat(int unixtime) { SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); String datetime = format.format(unixtime * 1000l); return datetime; } public static String unixTimeFormat(long unixtime,String pattern) { SimpleDateFormat format = new SimpleDateFormat(pattern); format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); String datetime = format.format(new Date(unixtime * 1000)); return datetime; } public static long date2Stamp(String date) { if(StringUtils.isEmpty(date)){ return TableNameConstants.MAX_STAMP; } SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); if(date.length()==8){ format = new SimpleDateFormat("yyyyMMdd"); } format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); long datetime=0; try { datetime = format.parse(date).getTime()/1000; } catch (ParseException e) { datetime=new Date().getTime()/1000; LOG.error(date+" 时间无法转为时间戳,采用当前时间戳"+datetime); } return datetime; } public static long formatDate2Stamp(String date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); long datetime=0; try { datetime = format.parse(date).getTime()/1000; } catch (ParseException e) { e.printStackTrace(); } return datetime; } public static long formatDateNo2Stamp(String date) { SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); long datetime=0; try { datetime = format.parse(date).getTime()/1000; } catch (ParseException e) { e.printStackTrace(); } return datetime; } public static String formatDate2Noformat(String date) { if(StringUtils.isEmpty(date)){ return ""; } return date.replaceAll("-", "").replaceAll(" ", "").replaceAll(":", ""); } public static String repairTimeYYYYMMDDHHMMSS(String date){ if(StringUtils.isEmpty(date)){ return ""; } if(date.contains("-")||date.contains(":")){ date=date.replaceAll("-",""); date=date.replaceAll(":",""); date=date.replaceAll(" ",""); } if(date.length()==8){ return date+"000000"; }else if(date.length()==10){ return date+"0000"; }else if(date.length()==12){ return date+"00"; } return date; } }
故乡明
分类:
java工具
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话