java日期工具类
来源:互联网 发布:python 通信框架 编辑:程序博客网 时间:2024/06/02 13:50
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import org.apache.commons.httpclient.util.DateUtil;import com.zgxcw.framework.util.Assert;/** * @Title: DateUtils * @Description: 日期相关工具类 */public final class DateUtils { // 短日期格式 public static String DATE_FORMAT = "yyyy-MM-dd"; // 长日期格式 public static String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; /** * 将数字转成日期字符串 * * @param num * @return */ public static String num2Date(Long num) { if (null == num || num == 0) { return ""; } SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String dateStr = df.format(new Date(num)); return dateStr; } /** * 获取当天0点的毫秒数 * * @return */ public static long todayStartMillis() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.MILLISECOND, 0); return (cal.getTimeInMillis()); } /** * 获取当天24点的毫秒数 * * @return */ public static long todayEndMillis() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, 24); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.MILLISECOND, 0); return (cal.getTimeInMillis()); } /** * 获取当月0点的毫秒数 * * @return */ public static long monthStartMillis() { Calendar cal = Calendar.getInstance(); cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH)); return (cal.getTimeInMillis()); } /** * 获取当月24点的毫秒数 * * @return */ public static long monthEndMillis() { Calendar cal = Calendar.getInstance(); cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); cal.set(Calendar.HOUR_OF_DAY, 24); return (cal.getTimeInMillis()); } /** * 30天前0点毫秒数 * * @return */ public static long before30DayStartMillis() { return DateUtils.todayEndMillis() - (86400000l * 30); } /** * 获取时间的毫秒数 * * @param date * @param format * @return */ public static long convert2long(String date, String format) { try { if (!Assert.isNull(date)) { if (Assert.isNull(format)) { format = DateUtils.TIME_FORMAT; } SimpleDateFormat sf = new SimpleDateFormat(format); return sf.parse(date).getTime(); } } catch (Exception e) { e.printStackTrace(); } return 0l; } /** * 返回两个日期相差的天数 * * @param startDate 开始日期 * @param endDate 结束日期 * @return 相差天数 */ public static int getDateSpace(Long startDate, Long endDate) { Calendar calst = Calendar.getInstance();; Calendar caled = Calendar.getInstance(); calst.setTimeInMillis(startDate); caled.setTimeInMillis(endDate); // 设置时间为0时 calst.set(Calendar.HOUR_OF_DAY, 0); calst.set(Calendar.MINUTE, 0); calst.set(Calendar.SECOND, 0); caled.set(Calendar.HOUR_OF_DAY, 0); caled.set(Calendar.MINUTE, 0); caled.set(Calendar.SECOND, 0); // 得到两个日期相差的天数 int days = ((int) (caled.getTime().getTime() / 1000) - (int) (calst.getTime().getTime() / 1000)) / 3600 / 24; return days; } /** * 将毫秒数转成 几天几小时几分几秒 * * @param mss * @return */ public static String formatDuring(long mss) { long days = mss / (1000 * 60 * 60 * 24); long hours = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60); long minutes = (mss % (1000 * 60 * 60)) / (1000 * 60); long seconds = (mss % (1000 * 60)) / 1000; return days + " 天 " + hours + " 小时 " + minutes + " 分 " + seconds + " 秒 "; } /** * @Description:日期格式转换Long型 * @return:Long * @param:String * @Date:2015-10-23 上午10:31:55 */ public static Long strToLong(String source) { if (!Assert.isNull(source)) { if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) { return DateUtils.convert2long(source, DateUtils.DATE_FORMAT); }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) { return DateUtils.convert2long(source, DateUtils.TIME_FORMAT); } } return null; } /** * 获取时间指定格式的时间字符串 * * @param format 需要显示字符串的指定格式 * @param date 时间 * @return */ public static String getDateStrByFormat(String format,Date date){ SimpleDateFormat df = new SimpleDateFormat(format); String dateStr = df.format(date); return dateStr; } /** * 获取yyyy-MM-dd HH:mm:ss格式的时间字符串 * * @param date * @return */ public static String getFullAppointDateStr(Date date){ SimpleDateFormat df = new SimpleDateFormat(TIME_FORMAT); String dateStr = df.format(date); return dateStr; } /** * 时间 加 某月 * @param dateTime * @param month * @return */ public static Long addMonth(Long dateTime,int month){ GregorianCalendar gc=new GregorianCalendar(); gc.setTimeInMillis(dateTime); gc.add(2,+3); return gc.getTimeInMillis(); } }
0 0
- java日期工具类
- java日期工具类
- java 日期工具类
- Java日期工具类
- java 日期工具类
- java 日期工具类
- Java日期工具类
- java日期工具类
- Java日期工具类
- JAVA 日期工具类
- java 日期工具类
- Java日期工具类
- java日期工具类
- java日期工具类
- java 日期工具类
- Java日期工具类
- java 日期 工具类
- java日期工具类
- 筋斗云教程(一): 运行筋斗云应用
- 添加当前程序到设备管理列表里
- 第3周项目3-形状类族的中的纯虚函数
- ListView
- ios学习--网络流量统计
- java日期工具类
- Spring RMI学习
- 会话Session处理
- 用转化异常来处理无法转化的问题
- 故障案例--mysql5.6启动失败
- 最简单的antd的index.jsx的路由配置
- leetcode Construct Binary Tree from Preorder and Inorder Traversal
- C# []、List、Array、ArrayList 区别及应用
- iOS 分享功能