罕用操作日期和操作工夫戳办法,拿着间接用系列
package com.gxw.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateTime { //日期工夫24小时格局字符串 public final static String formatDateTime24H = "yyyy-MM-dd HH:mm:ss"; //日期工夫12小时格局字符串 public final static String formatDateTime12H = "yyyy-MM-dd hh:mm:ss"; //日期格局字符串 public final static String formatDate = "yyyy-MM-dd"; //工夫24格局字符串 public final static String formatTime24H = "HH:mm:ss"; //工夫12格局字符串 public final static String formatTime12H = "hh:mm:ss"; /** * 获取以后日期戳 yyyy-MM-dd hh:mm:ss * @return */ public static String getNowDateStamp(){ return String.valueOf(new Date().getTime()); } /** * 获取以后日期字符串 yyyy-MM-dd hh:mm:ss * @return */ public static String getNowDateStr(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); return sdf.format(date); } /** * 工夫戳转日期 * @param stamp * @param format * @return */ public static String getStampCaseDate(String stamp, String format){ SimpleDateFormat sdf = new SimpleDateFormat(format); long stp = new Long(stamp); Date date = new Date(stp); String str = sdf.format(date); return str; } /** * 工夫戳转日期 * @param stamp * @return */ public static String getStampCaseDateFor24(String stamp){ String format = "yyyy-MM-dd HH:mm:ss"; SimpleDateFormat sdf = new SimpleDateFormat(format); long stp = new Long(stamp); Date date = new Date(stp); String str = sdf.format(date); return str; } /** * 字符串日期转换工夫戳 * @param date * @return */ public static String getDateCaseStamp(String date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d = sdf.parse(date); return String.valueOf(d.getTime()); } catch (ParseException e) { e.printStackTrace(); } return ""; } /** * 字符串日期转换工夫戳 * @param date * @return */ public static String getDateStrCaseStamp(String date, String format){ SimpleDateFormat sdf = new SimpleDateFormat(format); try { Date d = sdf.parse(date); return String.valueOf(d.getTime()); } catch (ParseException e) { e.printStackTrace(); } return ""; } /** * 获取当周的周一日期 * @return */ public static String getNowWeekStartStamp(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cal = Calendar.getInstance(); //设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 cal.setFirstDayOfWeek(Calendar.MONDAY); //取得以后日期是一个星期的第几天 int dayWeek = cal.get(Calendar.DAY_OF_WEEK); if(dayWeek==1){ dayWeek = 8; } // 依据日历的规定,给以后日期减去星期几与一个星期第一天的差值 cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek); Date mondayDate = cal.getTime(); mondayDate.setHours(00); mondayDate.setMinutes(00); mondayDate.setSeconds(00); String weekBegin = sdf.format(mondayDate);// System.out.println("所在周星期一的日期:" + weekBegin); return String.valueOf(mondayDate.getTime()); } /** * 获取当周的周天日期 * @return */ public static String getNowWeekEndStamp(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cal = Calendar.getInstance(); //设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 cal.setFirstDayOfWeek(Calendar.MONDAY); //取得以后日期是一个星期的第几天 int dayWeek = cal.get(Calendar.DAY_OF_WEEK); if(dayWeek==1){ dayWeek = 8; } // 依据日历的规定,给以后日期减去星期几与一个星期第一天的差值 cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek); cal.add(Calendar.DATE, 4 +cal.getFirstDayOfWeek()); Date sundayDate = cal.getTime(); sundayDate.setHours(23); sundayDate.setMinutes(59); sundayDate.setSeconds(59); String weekEnd = sdf.format(sundayDate);// System.out.println("所在周星期日的日期:" + weekEnd); return String.valueOf(sundayDate.getTime()).substring(0,10) + "999"; } /** * 将当天工夫戳转换成当天最大工夫的工夫戳 * @param stamp * @return */ public static String getStampMaxDate(String stamp){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(Long.parseLong(stamp)); String dateStr = sdf.format(date) + " 23:59:59"; String rsStamp = getDateCaseStamp(dateStr); return rsStamp; } /** * 获取以后工夫的两月前工夫戳 * @return */ public static String getStamp2MonthBeforeDate(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DATE, 1);//设置以后月的一号 calendar.add(Calendar.MONTH, -2); //0示意以后月,-2就是以后月-2 calendar.set(Calendar.HOUR_OF_DAY, 0);//设置当天几时 calendar.set(Calendar.MINUTE, 0);//设置当天几分 calendar.set(Calendar.SECOND, 0);//设置当天几秒 calendar.set(Calendar.MILLISECOND, 0);//设置当天几毫秒 long t = calendar.getTimeInMillis(); String s = sdf.format(new Date(t)); System.out.println(t); System.out.println(s); return String.valueOf(calendar.getTimeInMillis()); } /** * 校验日期是否非法 * @return */ public static boolean isValidDate(String s) { SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); try { fmt.parse(s); return true; } catch (Exception e) { // 如果throw java.text.ParseException或者NullPointerException,就阐明格局不对 return false; } } /** * <li>性能形容:工夫相减失去天数 * @param beginDateStr * @param endDateStr * @return * long * @author Administrator */ public static long getDaySub(String beginDateStr,String endDateStr){ long day=0; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date beginDate = null; Date endDate = null; try { beginDate = format.parse(beginDateStr); endDate= format.parse(endDateStr); } catch (ParseException e) { e.printStackTrace(); } day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000); //System.out.println("相隔的天数="+day); return day; } /** * 失去n天之后的日期 * @param days * @return */ public static String getAfterDayDate(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdfd.format(date); return dateStr; } /** * 失去n天之后是周几 * @param days * @return */ public static String getAfterDayWeek(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动 Date date = canlendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdf.format(date); return dateStr; } /** * 失去 n 小时之后的工夫戳 * @param afterHours //后几个小时 */ public static String getAfterHours(int afterHours){ Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.HOUR, afterHours); Date date = canlendar.getTime(); return String.valueOf(date.getTime()); } /** * 失去 n 小时之前的工夫戳 * @param beforeHours //前几个小时 */ public static String getBeforeHours(int beforeHours){ Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.HOUR, -beforeHours); Date date = canlendar.getTime(); return String.valueOf(date.getTime()); }}