JAVA 日期工具类
来源:互联网 发布:面试 知乎 编辑:程序博客网 时间:2024/05/02 07:26
封装一些常用操作,获取时间等。不然每次转一下也挺麻烦
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class DateUtil { /** * 返回日期:yyyyMMddHHmmss格式的字符串 */ public static String getStrOfDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); String dateString = formatter.format(currentTime); return dateString; } /** * 获取当前日期时间 返回日期:yyyy-MM-dd HH:mm:ss * * @author WikerYong * @version 2012-1-9 上午09:47:39 * @return */ public static String getStrOfDateTime() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(currentTime); return dateString; } /** * 字符串转为日期类型,返回yyyy-MM-dd HH:mm:ss格式 * * @author WikerYong Email:<a href="#">yw_312@foxmail.com</a> * @version 2012-7-5 下午04:33:49 * @param str * @return */ public static Date getDateByStr(String str) { Date date = new Date(); try { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date = formatter.parse(str); } catch (ParseException e) { e.printStackTrace(); } return date; } /** * 获取当前日期时间 返回日期:yyyy-MM-dd HH:mm * * @author WikerYong Email:<a href="#">yw_312@foxmail.com</a> * @version 2012-1-31 下午02:57:30 * @return */ public static String getStrOfDateMinute() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String dateString = formatter.format(currentTime); return dateString; } /** * 返回日期:yyyyMMddHHmmssSSS格式的字符串 * * @author WikerYong * @version 2011-11-25 下午07:18:44 * @return */ public static String getStrOfMs() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String dateString = formatter.format(currentTime); return dateString; } /** * 返回日期:yyyyMM格式的字符串 */ public static String getMonthFolder() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMM"); String dateString = formatter.format(currentTime); return dateString; } /** * 返回日期:yyyyMM格式的字符串 */ public static String getDateFolder() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); String dateString = formatter.format(currentTime); return dateString; } /** * 获取当前月份 * * @author WikerYong Email:<a href="#">yw_312@foxmail.com</a> * @version 2012-4-9 上午10:45:28 * @return */ public static String getMonth() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("MM"); String dateString = formatter.format(currentTime); return dateString; } /** * 获取当前年份 * * @author WikerYong Email:<a href="#">yw_312@foxmail.com</a> * @version 2012-7-5 下午04:31:07 * @return */ public static String getYear() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy"); String dateString = formatter.format(currentTime); return dateString; } /** * 返回日期:yyyyMMddHH格式的字符串 * * @author WikerYong * @version 2011-12-20 下午03:43:14 * @return */ public static String getDataOfHour() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHH"); String dateString = formatter.format(currentTime); return dateString; } /** * 返回时间:yyyyMMddHHmm格式 */ public static String getStrOfTime() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmm"); String dateString = formatter.format(currentTime); return dateString; } /** * 返回时间:yyyy-MM-dd格式 */ public static String getCurrentDay() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String dateString = formatter.format(currentTime); return dateString; } public static String getLastDay(int day) { java.util.Date yestoday = new java.util.Date(new java.util.Date().getTime() - 1000 * 60 * 60 * 24 * day); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(yestoday); } /** * 获取昨天、前天的日期 * * @param currentDate * @return */ public static String[] getLastDates(String currentDate) { String currYear, currMonth, currDay; currYear = currentDate.substring(0, 4); currMonth = currentDate.substring(4, 6); currDay = currentDate.substring(6); // 月份或日期首位是0 String tempMonth, tempDay; if (currMonth.substring(0, 1).equals("0")) { tempMonth = "0"; } else { tempMonth = ""; } if (currDay.substring(0, 1).equals("0") || currDay.equals("10")) { tempDay = "0"; } else { tempDay = ""; } String returnDays[] = new String[2]; if (currMonth.equals("01") && currDay.equals("01")) { returnDays[0] = (Integer.parseInt(currYear) - 1) + "1231"; returnDays[1] = (Integer.parseInt(currYear) - 1) + "1230"; } else if (currMonth.equals("01") && currDay.equals("02")) { returnDays[0] = currYear + "0101"; returnDays[1] = (Integer.parseInt(currYear) - 1) + "1231"; } else if (Integer.parseInt(currMonth) >= 1 && Integer.parseInt(currDay) > 2) { returnDays[0] = currYear + currMonth + tempDay + (Integer.parseInt(currDay) - 1); if (currDay.equals("11")) { returnDays[1] = currYear + currMonth + "0" + (Integer.parseInt(currDay) - 2); } else { returnDays[1] = currYear + currMonth + tempDay + (Integer.parseInt(currDay) - 2); } } else if (Integer.parseInt(currMonth) > 1 && Integer.parseInt(currDay) == 2) { returnDays[0] = currYear + currMonth + "01"; if (currMonth.equals("10")) { returnDays[1] = currYear + "0" + (Integer.parseInt(currMonth) - 1) + (getLastDayOfUpMonth(Integer.parseInt(currYear), Integer.parseInt(currMonth), Integer.parseInt(currDay))); } else { returnDays[1] = currYear + tempMonth + (Integer.parseInt(currMonth) - 1) + (getLastDayOfUpMonth(Integer.parseInt(currYear), Integer.parseInt(currMonth), Integer.parseInt(currDay))); } } else if (Integer.parseInt(currMonth) > 1 && Integer.parseInt(currDay) == 1) { if (currMonth.equals("10")) { returnDays[0] = currYear + "0" + (Integer.parseInt(currMonth) - 1) + (getLastDayOfUpMonth(Integer.parseInt(currYear), Integer.parseInt(currMonth), Integer.parseInt(currDay))); returnDays[1] = currYear + "0" + (Integer.parseInt(currMonth) - 1) + (getLastDayOfUpMonth(Integer.parseInt(currYear), Integer.parseInt(currMonth), Integer.parseInt(currDay)) - 1); } else { returnDays[0] = currYear + tempMonth + (Integer.parseInt(currMonth) - 1) + (getLastDayOfUpMonth(Integer.parseInt(currYear), Integer.parseInt(currMonth), Integer.parseInt(currDay))); returnDays[1] = currYear + tempMonth + (Integer.parseInt(currMonth) - 1) + (getLastDayOfUpMonth(Integer.parseInt(currYear), Integer.parseInt(currMonth), Integer.parseInt(currDay)) - 1); } } else { returnDays[0] = currYear + currMonth + tempDay + (Integer.parseInt(currDay) - 1); returnDays[1] = currYear + currMonth + tempDay + (Integer.parseInt(currDay) - 2); } return returnDays; } public static int getLastDayOfUpMonth(int year, int month, int date) { Calendar calendar = new GregorianCalendar(year, month, date); calendar.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前日期既为本月第一天 calendar.add(Calendar.MONTH, -1);// 月增减1天 calendar.add(Calendar.DAY_OF_MONTH, -1);// 日期倒数一日,既得到本月最后一天 return calendar.get(Calendar.DATE); } /** * 获取当月第一天 * * @author WikerYong * @version 2011-11-21 下午04:45:06 * @return */ public static String getFirstDayOfMonth() { String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE, 1);// 设为当前月的1号 str = sdf.format(lastDate.getTime()); return str; } /** * 获取当月最后一天 * * @author WikerYong * @version 2011-11-21 下午04:46:06 * @return */ public static String getLastDayOfMonteh() { String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE, 1);// 设为当前月的1号 lastDate.add(Calendar.MONTH, 1);// 加一个月,变为下月的1号 lastDate.add(Calendar.DATE, -1);// 减去一天,变为当月最后一天 str = sdf.format(lastDate.getTime()); return str; } /** * 获取去年的年份 * * @return */ public static String getLastYear() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy"); Calendar c = Calendar.getInstance(); c.setTime(currentTime); c.add(Calendar.YEAR, -1); String dateString = formatter.format(c.getTime()); return dateString; } /** * 获取前年的年份 * * @return */ public static String getBeforeLastYear() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy"); Calendar c = Calendar.getInstance(); c.setTime(currentTime); c.add(Calendar.YEAR, -2); String dateString = formatter.format(c.getTime()); return dateString; } /** * 获取某月最后一天 * * @param year * @param month * @return */ public static String getLastDayOfMonth(int year, int month) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month-1); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE)); return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); } /** * 获取某月第一天 * * @param year * @param month * @return */ public static String getFirstDayOfMonth(int year, int month) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month-1); cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE)); return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); } /** * 判断日期是否为同一天 * * @param dateA * @param dateB * @return true 则为同一天,false则为不在同一天 */ public static boolean isSameDay(Date dateA,Date dateB) { Calendar calDateA = Calendar.getInstance(); calDateA.setTime(dateA); Calendar calDateB = Calendar.getInstance(); calDateB.setTime(dateB); return calDateA.get(Calendar.YEAR) == calDateB.get(Calendar.YEAR) && calDateA.get(Calendar.MONTH) == calDateB.get(Calendar.MONTH) && calDateA.get(Calendar.DAY_OF_MONTH) == calDateB.get(Calendar.DAY_OF_MONTH); } public static void main(String[] args) { System.out.println(getFirstDayOfMonth(2013,2)); System.out.println(getLastDayOfMonth(2013,2)); }}
- java日期工具类
- java日期工具类
- java 日期工具类
- Java日期工具类
- java 日期工具类
- java 日期工具类
- Java日期工具类
- java日期工具类
- Java日期工具类
- JAVA 日期工具类
- java 日期工具类
- Java日期工具类
- java日期工具类
- java日期工具类
- java 日期工具类
- Java日期工具类
- java 日期 工具类
- java日期工具类
- linux repair filesystem 1 #一般是什么引起的和该怎样解决
- activity的四种加载模式
- HttpOperater-模拟HTTP操作类
- 二叉查找树的实现(using Python)----代码更加简单 wangsc
- oracle数据字典详解,内部RDBMS(X$)表、数据字典表、动态性能(v$)视图、数据字典视图
- JAVA 日期工具类
- Error: WebView.destroy() called while still attached 的解决办法
- Exynos4412 DMA驱动
- android屏幕适配
- TortoiseSVN更改账号
- 图片转为Byte字节数组 字节数组生成图片
- JavaScript 函数replace揭秘
- hdu 3682 To Be an Dream Architect (hash)
- 编程练习(2)