Date工具类
来源:互联网 发布:js监听扫描枪 编辑:程序博客网 时间:2024/05/20 20:01
因为用到的工具时间类比较,所以把写的都拿来放一块了,分享下
public class DateTool { private final static SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd"); private final static SimpleDateFormat longHourSdf = new SimpleDateFormat("yyyy-MM-dd HH");; private final static SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");; public static String formatDate(Date date,String format){ String result=""; SimpleDateFormat sdf=new SimpleDateFormat(format); if(date!=null){ result=sdf.format(date); } return result; } public static Date formatString(String str,String format) throws Exception{ if(StringTool.isEmpty(str)){ return null; } SimpleDateFormat sdf=new SimpleDateFormat(format); return sdf.parse(str); } public static String getCurrentDateStr() throws Exception{ Date date=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmss"); return sdf.format(date); } /** * yyyy-MM-dd HH:mm:ss * @return */ public static String getTime(){ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=formatter.format(new Date()); return time; } /** * yyyy-MM-dd * @return */ public static String getDate(){ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String time=formatter.format(new Date()); return time; } /** * 返回星期数 * @Description: TODO * @param @return * @return int * @throws */ public static int getWeek(){ Calendar c = Calendar.getInstance(); // 今天是一周中的第几天 int dayOfWeek = c.get(Calendar.DAY_OF_WEEK ); return dayOfWeek; } /** * 返回本周七天的日期 * @Description: TODO * @param @return * @return String[] * @throws */ public static String[] getWeekDays(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); // 今天是一周中的第几天 int dayOfWeek = c.get(Calendar.DAY_OF_WEEK ); if (c.getFirstDayOfWeek() == Calendar.SUNDAY) { c.add(Calendar.DAY_OF_MONTH, 1); } // 计算一周开始的日期 c.add(Calendar.DAY_OF_MONTH, -dayOfWeek); String[] weekDays = new String[7]; for (int i=0;i<7;i++) { c.add(Calendar.DAY_OF_MONTH, 1); weekDays[i] = sdf.format(c.getTime()); } return weekDays; } /** * 获取相差时间,以分为单位 * @param starttime * @param endtime * @return * @throws ParseException */ public static int getMinute(String starttime,String endtime) throws ParseException{ SimpleDateFormat format1 = new SimpleDateFormat("HH:mm"); SimpleDateFormat format2 = new SimpleDateFormat("HH:mm"); long time1=format1.parse(starttime).getTime(); long time2=format2.parse(endtime).getTime(); int minute=(int) ((time2-time1)/(1000*60)); return minute; } /** * 分钟相加 * @param starttime * @param intervaltime * @return * @throws ParseException */ public static String addMinute(String starttime,int intervaltime) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); int b=intervaltime*60*1000; long result = sdf.parse(starttime).getTime() + (b); Date d1 = new Date(result); return sdf.format(d1).toString(); } /** * 获取当前是第几季度 * 1 第一季度 2 第二季度 3 第三季度 4 第四季度 * 一季度是1月1日到3月31日;二季度是4月1日到6月30;三季度是7月1到9月30;四季度是10月1到12月31。 * @param date * @return */ public static int getSeason(Date date) { int season = 0; Calendar c = Calendar.getInstance(); c.setTime(date); int month = c.get(Calendar.MONTH); switch (month) { case Calendar.JANUARY: case Calendar.FEBRUARY: case Calendar.MARCH: season = 1; break; case Calendar.APRIL: case Calendar.MAY: case Calendar.JUNE: season = 2; break; case Calendar.JULY: case Calendar.AUGUST: case Calendar.SEPTEMBER: season = 3; break; case Calendar.OCTOBER: case Calendar.NOVEMBER: case Calendar.DECEMBER: season = 4; break; default: break; } return season; } /** * 获取当前季度开始时间 * @return */ public static String getCurrentQuarterStartTime() { Calendar c = Calendar.getInstance(); int currentMonth = c.get(Calendar.MONTH) + 1; String now=""; try { if (currentMonth >= 1 && currentMonth <= 3) c.set(Calendar.MONTH, 0); else if (currentMonth >= 4 && currentMonth <= 6) c.set(Calendar.MONTH, 3); else if (currentMonth >= 7 && currentMonth <= 9) c.set(Calendar.MONTH, 4); else if (currentMonth >= 10 && currentMonth <= 12) c.set(Calendar.MONTH, 9); c.set(Calendar.DATE, 1); now = shortSdf.format(c.getTime()) +" 00:00:00"; } catch (Exception e) { e.printStackTrace(); } return now; } /** * 获取当前季度结束时间 * @return */ public static String getCurrentQuarterEndTime() { Calendar c = Calendar.getInstance(); int currentMonth = c.get(Calendar.MONTH) + 1; String now=""; try { if (currentMonth >= 1 && currentMonth <= 3) { c.set(Calendar.MONTH, 2); c.set(Calendar.DATE, 31); } else if (currentMonth >= 4 && currentMonth <= 6) { c.set(Calendar.MONTH, 5); c.set(Calendar.DATE, 30); } else if (currentMonth >= 7 && currentMonth <= 9) { c.set(Calendar.MONTH, 8); c.set(Calendar.DATE, 30); } else if (currentMonth >= 10 && currentMonth <= 12) { c.set(Calendar.MONTH, 11); c.set(Calendar.DATE, 31); } now = shortSdf.format(c.getTime()) + " 23:59:59"; } catch (Exception e) { e.printStackTrace(); } return now; } /** * *日期加几月 * **/ public static String dateAddMonth(String str,int mon) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dt = sdf.parse(str); Calendar rightNow = Calendar.getInstance(); rightNow.setTime(dt); rightNow.add(Calendar.MONTH, mon);// 日期加几个月 // Date dt1 = rightNow.getTime(); String reStr = sdf.format(dt1); return reStr; } /** * *日期加几天 * **/ public static String dateAddDay(String str,int day) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dt = sdf.parse(str); Calendar rightNow = Calendar.getInstance(); rightNow.setTime(dt); rightNow.add(Calendar.DAY_OF_MONTH, day);// 日期加几个月 // Date dt1 = rightNow.getTime(); String reStr = sdf.format(dt1); return reStr; }}
阅读全文
0 0
- Date转换工具类
- Date操作工具类
- Date工具类
- Java Date工具类
- Date日期工具类
- date 工具类
- Date工具类
- date 日期工具类
- Java Date工具类
- Date DateFormat工具类
- Date工具类
- Date工具类
- Android开发 date工具类
- Date日期工具类---Java
- Date 时间操作工具类
- 工具类Date SimpleDateFormat Canlendar
- JAVA Date 工具类 常用
- Android工具类--date工具类
- ONVIF 开发过程总结(C++) (一)
- android 深入了解layout_weight属性
- 学生成绩(类的应用)
- PYG电商项目开发 -- day01 电商介绍及工程搭建
- 编程的智慧
- Date工具类
- 综合利用一个身份认证漏洞,通吃多款趋势安全软件
- Vim常用命令
- 【桥】HDU4738[Caocao's Bridges]题
- Python os
- linux命令——dmesg
- 【Unity】当人物主角被障碍物遮挡后,将障碍物半透明化
- 假设检验(通俗个人理解)
- 共同学习Java源代码-数据结构-HashMap(九)