下面的方法可以得到三天前的具体时间-->
Date start=new Date();//取时间
Calendar calendar = new GregorianCalendar();
calendar.setTime(start);
calendar.add(calendar.DATE,-3);//把日期往前推3天
start=calendar.getTime();
我们的用Gson转化的Date类型数据到前台会转化为一个时间戳:new Gson().toJson(对象索引)
也可以使用普遍的转换方法-->
Date date = new Date(); SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String todayTime = formate.format(date);
下面介绍一个神奇的时间工具类:
package com.jd.ecc.commons.lib.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class DateFormatUtil { private static final String DATE_FORMAT = "yyyy-MM-dd"; private static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; private static final String YEAR_MONTH_FORMAT = "yyyy-MM"; public DateFormatUtil() { } public static boolean isValidDate(String dateStr) { return validFormat(dateStr, "yyyy-MM-dd"); } public static boolean isValidDate(String datetStr, String dateFormat) { return validFormat(datetStr, dateFormat); } public static boolean isValidDateTime(String datetimeStr) { return validFormat(datetimeStr, "yyyy-MM-dd HH:mm:ss"); } public static boolean isValidDateTime(String datetimeStr, String datetimeFormat) { return validFormat(datetimeStr, datetimeFormat); } public static boolean validFormat(String str, String format) { boolean convertSuccess = true; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); try { simpleDateFormat.setLenient(false); Date e = simpleDateFormat.parse(str); Date maxDate = simpleDateFormat.parse("9999-12-31"); if(e.after(maxDate)) { convertSuccess = false; } } catch (ParseException var6) { convertSuccess = false; } return convertSuccess; } public static String getTodayTime() { Date date = new Date(); SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String todayTime = formate.format(date); return todayTime; } public static String getTodatDate() { Date date = new Date(); SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd"); String todayDate = formate.format(date); return todayDate; } public static String getYesterdayDate() { Date date = new Date(); GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(5, -1); date = calendar.getTime(); SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd"); String yesterdayDate = formate.format(date); return yesterdayDate; } public static String getYesterdayTime() { Date date = new Date(); GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(5, -1); date = calendar.getTime(); SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String yesterdayTime = formate.format(date); return yesterdayTime; } public static String getNowMonth() { Date d = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM"); String nowMonth = df.format(d); System.out.println(nowMonth); return nowMonth; } public static String getLastMonth() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM"); int validMonth = cd.get(2) - 1; cd.set(2, validMonth); Date dt = cd.getTime(); String lastMonth = df.format(dt); return lastMonth; } public static String getTodayBeginTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cd.set(11, 0); cd.set(12, 0); cd.set(13, 0); Date dt = cd.getTime(); String todayBeginTime = df.format(dt); return todayBeginTime; } public static String getTodayEndTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cd.set(11, 23); cd.set(12, 59); cd.set(13, 59); Date dt = cd.getTime(); String todayEndTime = df.format(dt); return todayEndTime; } public static String getYesterdayBeginTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); int yesterday = cd.get(5) - 1; cd.set(5, yesterday); cd.set(11, 0); cd.set(12, 0); cd.set(13, 0); Date dt = cd.getTime(); String yesterdayBeginTime = df.format(dt); return yesterdayBeginTime; } public static String getYesterdayEndTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); int yesterday = cd.get(5) - 1; cd.set(5, yesterday); cd.set(11, 23); cd.set(12, 59); cd.set(13, 59); Date dt = cd.getTime(); String yesterdayEndTime = df.format(dt); return yesterdayEndTime; } public static String getNowMonthBeginTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cd.add(2, 0); cd.set(5, 1); cd.set(11, 0); cd.set(12, 0); cd.set(13, 0); Date dt = cd.getTime(); String nowMonthBeginTime = df.format(dt); return nowMonthBeginTime; } public static String getNowMonthBeginDate() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); cd.add(2, 0); cd.set(5, 1); Date dt = cd.getTime(); String nowMonthBeginDate = df.format(dt); return nowMonthBeginDate; } public static String getNowMonthEndTime() { Calendar ca = Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ca.set(5, ca.getActualMaximum(5)); ca.set(11, 23); ca.set(12, 59); ca.set(13, 59); String nowMonthEndTime = df.format(ca.getTime()); return nowMonthEndTime; } public static String getNowMonthEndDate() { Calendar ca = Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); ca.set(5, ca.getActualMaximum(5)); String nowMonthEndDate = df.format(ca.getTime()); return nowMonthEndDate; } public static String getLastMonthBeginTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cd.add(2, -1); cd.set(5, 1); cd.set(11, 0); cd.set(12, 0); cd.set(13, 0); Date dt = cd.getTime(); String lastMonthBeginTime = df.format(dt); return lastMonthBeginTime; } public static String getLastMonthBeginDate() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); cd.add(2, -1); cd.set(5, 1); Date dt = cd.getTime(); String lastMonthBeginDate = df.format(dt); return lastMonthBeginDate; } public static String getLastMonthEndTime() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cd.set(5, 0); cd.set(11, 23); cd.set(12, 59); cd.set(13, 59); Date dt = cd.getTime(); String lastMonthEndTime = df.format(dt); return lastMonthEndTime; } public static String getLastMonthEndDate() { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); cd.set(5, 0); Date dt = cd.getTime(); String lastMonthEndDate = df.format(dt); return lastMonthEndDate; } public static String getAfterDaysTime(Integer dateLen) { GregorianCalendar cd = new GregorianCalendar(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cd.add(5, dateLen.intValue()); cd.set(11, 23); cd.set(12, 59); cd.set(13, 59); Date dt = cd.getTime(); String afterThirtyDaysDate = df.format(dt); return afterThirtyDaysDate; } public static String getNowWeekBeginTime() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cds = Calendar.getInstance(); cds.setFirstDayOfWeek(2); cds.set(11, 0); cds.set(12, 0); cds.set(13, 0); cds.set(7, 2); String thisweekstart = df.format(cds.getTime()); return thisweekstart; } public static String getNowWeekEndTime() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cde = Calendar.getInstance(); cde.setFirstDayOfWeek(2); cde.set(11, 23); cde.set(12, 59); cde.set(13, 59); cde.set(7, 1); String thisweekend = df.format(cde.getTime()); return thisweekend; } public static String getLastWeekBeginTime() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cdl = Calendar.getInstance(); cdl.setFirstDayOfWeek(2); cdl.add(4, -1); cdl.set(7, 1); cdl.set(11, 0); cdl.set(12, 0); cdl.set(13, 0); cdl.set(7, 2); String lastweekstart = df.format(cdl.getTime()); return lastweekstart; } public static String getLastWeekEndTime() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cdle = Calendar.getInstance(); cdle.setFirstDayOfWeek(2); cdle.add(4, -1); cdle.set(7, 1); cdle.set(11, 23); cdle.set(12, 59); cdle.set(13, 59); String lastweekend = df.format(cdle.getTime()); return lastweekend; } public static String getThreeMonthAgoTime() { new Date(); Calendar cald = Calendar.getInstance(); cald.add(2, -3); Date date = cald.getTime(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String threeMonthAgoTime = df.format(date); return threeMonthAgoTime; } public static String getThreeMonthAgoDate() { new Date(); Calendar cald = Calendar.getInstance(); cald.add(2, -3); Date date = cald.getTime(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String threeMonthAgoDate = df.format(date); return threeMonthAgoDate; } }
功能简介-->
方法返回类型
|
方法名称
|
方法含义
|
---|---|---|
方法返回类型
|
方法名称
|
方法含义
|
boolean | isValidDate(String dateStr) | 根据默认格式校验日期 |
boolean | isValidDate(String datetStr, String dateFormat) | 自定义格式校验日期 |
boolean | isValidDateTime(String datetimeStr) | 根据默认格式校验时间 |
boolean | isValidDateTime(String datetimeStr, String datetimeFormat) | 自定义格式校验时间 |
boolean | validFormat(String str, String format) | 格式校验抽象方法 |
String | getTodayTime() | 获得今天具体时间 |
String | getTodatDate() | 获得今天日期 |
String | getYesterdayDate() | 获得昨天日期 |
String | getYesterdayTime() | 获得昨天具体时间 |
String | getNowMonth() | 获取当前月 |
String | getLastMonth() | 获取上一个月 |
String | getTodayBeginTime() | 获取当天的开始时间 |
String | getTodayEndTime | 获取当天的结束时间 |
String | getYesterdayBeginTime() | 获取前一天的开始时间 |
String | getYesterdayEndTime() | 获取前一天的结束时间 |
String | getNowMonthBeginTime() | 获得当前月的第一天开始时间 |
String | getNowMonthBeginDate() | 获得当前月的第一天开始日期 |
String | getNowMonthEndTime() | 获得当前月最后一天结束时间 |
String | getNowMonthEndDate() | 获得当前月最后一天结束日期 |
String | getLastMonthBeginTime() | 获得前一月的第一天开始时间 |
String | getLastMonthBeginDate() | 获得前一月的第一天开始日期 |
String | getLastMonthEndTime() | 获得前一月的最后一天结束时间 |
String | getLastMonthEndDate() | 获得前一月的最后一天结束日期 |
String | getAfterDaysTime(Integer dateLen) | 获得当前时间后X天之后的结束时间 |
String | getNowWeekBeginTime() | 获得本周开始时间 |
String | getNowWeekEndTime() | 获得本周结束时间 |
String | getLastWeekBeginTime() | 获得上周开始时间 |
String | getLastWeekEndTime() | 获得上周结束时间 |
String | getThreeMonthAgoTime() | 获得3个月前时间 |
String | getThreeMonthAgoDate() | 获得3个月前日期 |