- 浏览: 87161 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
z694571598:
set 在哪?
js实现Set,Map,List,Queue -
coolboy09:
java并发编程实战上有类似的例子。我有一个疑惑,现在提出来和 ...
高速缓存实现 -
znlyj:
我同样关注,怎么更新缓存?另外,如果我不想将计算结果放到进程内 ...
高速缓存实现 -
Terry_zzz:
很好, 总结的很全面 谢谢!
深入浅出设计模式之单态模式(singleton) -
supertianyi:
好文,学习了
精通js中的Array
在项目开发工程中,使用了很多时间的操作,改工具类提供了很多方法
public class DateUtils { public static final long DAY_IN_MILLISECOND = 24 * 60 * 60 * 1000; public static Date addDay(Date date,int day){ return org.apache.commons.lang.time.DateUtils.addDays(date, day); } public static Date addWeek(Date date,int week){ return org.apache.commons.lang.time.DateUtils.addWeeks(date, week); } public static Date addMonth(Date date,int month){ return org.apache.commons.lang.time.DateUtils.addMonths(date, month); } public static Date getDate(Date date) { return parseDate(format(date, "yyyyMMdd"), "yyyyMMdd"); } public static Date addTime(Date date, int hours, int mins, int seconds) { Date d = org.apache.commons.lang.time.DateUtils.addHours(date, hours); d = org.apache.commons.lang.time.DateUtils.addMinutes(d, mins); return org.apache.commons.lang.time.DateUtils.addSeconds(d, seconds); } public static Date getPreMonthDate(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int month = calendar.get(Calendar.MONTH); calendar.set(Calendar.MONTH,month-1); return calendar.getTime(); } public static Date getPreYearDate(Date date) { Calendar calendar=Calendar.getInstance(); calendar.setTime(date); int year=calendar.get(Calendar.YEAR); calendar.set(Calendar.YEAR,year-1); return calendar.getTime(); } public static int get(Date date, int field) { Calendar c = Calendar.getInstance(); c.setTime(date); return c.get(field); } /** * * @param date * @param pattern * @return */ public static Date parseDate(String dateString, String pattern) { try { return org.apache.commons.lang.time.DateUtils.parseDate( dateString, new String[] { pattern }); } catch (ParseException e) { return null; } } /** * * @param date * @param patterns * @return */ public static Date parseDate(String dateString, String[] patterns) { try { return org.apache.commons.lang.time.DateUtils.parseDate(dateString, patterns); } catch (ParseException e) { return null; } } /** * * @param year * @param month * @param date * @return */ public static Date newDate(int year, int month, int date) { return parseDate("" + year + month + date, month >= 10 ? "yyyyMMdd" : "yyyyMdd"); } /** * * @param year * @param month * @param date * @return */ public static String format(int year, int month, int date, String pattern) { return DateFormatUtils.format(newDate(year, month, date), pattern); } /** * * @param date * @return */ public static String format(Date date) { return format(date,"yyyy-MM-dd"); } /** * * @param date * @return */ public static String format(Date date,String pattern) { return DateFormatUtils.format(date, pattern); } /** * compare the two dates, and return the subtraction between d1 and d2(d1 - d2) * result > 0 when d1 > d2 and result < 0 when d1 < d2 * * @param d1 * Date * @param d2 * Date * @return int */ public static int compareDateOnDay(Date d1, Date d2) { if(d1.getTime() == d2.getTime()) return 0; d1 = org.apache.commons.lang.time.DateUtils.truncate(d1, Calendar.DATE); d2 = org.apache.commons.lang.time.DateUtils.truncate(d2, Calendar.DATE); long l1 = d1.getTime(); long l2 = d2.getTime(); return (int) ((l1 - l2)/DAY_IN_MILLISECOND); } /** * compare the two dates, and return the subtraction between the dates' month * always return > 0 * * @param d1 * Date * @param d2 * Date * @return int */ public static int compareDateOnMonth(Date d1, Date d2) { if (d1.getTime() == d2.getTime()) { return 0; } int flag = -1; // compare the dates, and put the smaller before if (d1.getTime() > d2.getTime()) { Date temp = d1; d1 = d2; d2 = temp; flag = 1; } Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(d1); c2.setTime(d2); int y1 = c1.get(Calendar.YEAR); int y2 = c2.get(Calendar.YEAR); int month1 = c1.get(Calendar.MONTH); int month2 = c2.get(Calendar.MONTH); int months = 0; if(y1==y2){ months = month2-month1; }else{ months = (y2-y1-1)*12+ (12-month1)+month2; } return months * flag; } /** * judge the year whether is leap year * * @param year * int year * @return boolean */ public static boolean isLeapYear(int year) { if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) { return true; } return false; } /** * return the days of the year gevin * * @param year * int year * @return int */ public static int getYearDays(int year) { if (isLeapYear(year)) { return 366; } return 365; } /** * judge whether the two dates are in same day * * @param date1 * @param date2 * @return */ public static boolean isSameDay(Date date1, Date date2) { return org.apache.commons.lang.time.DateUtils.isSameDay(date1, date2); } public static Date truncate(Date d, int field) { return org.apache.commons.lang.time.DateUtils.truncate(d, field); } public static boolean isLastDayOfMonth(Date date) { return isFirstDayOfMonth(addDay(date, 1)); } public static boolean isFirstDayOfMonth(Date date) { return get(date, Calendar.DAY_OF_MONTH) == 1; } //add public static Date getLastMonthDay(int year, int month) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,year); calendar.set(Calendar.MONTH,month - 1); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return calendar.getTime(); } public static Date getLastMonthDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return calendar.getTime(); } public static Date getFirstMonthDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, 1); return calendar.getTime(); } public static Date getFirstMonthDay(int year, int month) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,year); calendar.set(Calendar.MONTH,month - 1); calendar.set(Calendar.DAY_OF_MONTH, 1); return calendar.getTime(); } public static Date getFirstWeekDay(int year, int week) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,year); calendar.set(Calendar.WEEK_OF_YEAR, week); calendar.set(calendar.DAY_OF_WEEK,1); return addDay(calendar.getTime(), 1); } public static Date getFirstWeekDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.DAY_OF_WEEK,1); return addDay(calendar.getTime(), 1); } public static Date getLastWeekDay(int year, int week) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,year); calendar.set(Calendar.WEEK_OF_YEAR, week); calendar.set(calendar.DAY_OF_WEEK,7); return addDay(calendar.getTime(), 1); } public static Date getLastWeekDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.DAY_OF_WEEK,7); return addDay(calendar.getTime(), 1); } public static int getWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.MONDAY); calendar.setTime(date); return calendar.get(Calendar.WEEK_OF_YEAR); } public static int getMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MONTH)+1; } public static int getYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.YEAR); } public static int getInterval(Date d1, Date d2) { int betweenDays = 0; Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(d1); c2.setTime(d2); // 保证第二个时间一定大于第一个时间 if(c1.after(c2)){ c1 = c2; c2.setTime(d1); } int betweenYears = c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR); betweenDays = c2.get(Calendar.DAY_OF_YEAR)-c1.get(Calendar.DAY_OF_YEAR); for(int i=0;i<betweenYears;i++){ c1.set(Calendar.YEAR,(c1.get(Calendar.YEAR)+1)); betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR); } return betweenDays; } public static List<Date> getDateList(Date startDate, Date endDate) { List<Date> dates = new ArrayList<Date>(); int betweenDays = DateUtils.getInterval(startDate, endDate); for (int i = 0; i <= betweenDays; i++) { Date day = DateUtils.addDay(startDate, i); if (day.getTime() >= startDate.getTime() && day.getTime() <= endDate.getTime()) { dates.add(day); } } return dates; } public static int getMonthInterval(Date startDate, Date endDate) { int betweenMonths = 0; Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(startDate); c2.setTime(endDate); // 保证第二个时间一定大于第一个时间 if(c1.after(c2)){ c1 = c2; c2.setTime(startDate); } int y1 = c1.get(Calendar.YEAR); int y2 = c2.get(Calendar.YEAR); int m1 = c1.get(Calendar.MONTH); int m2 = c2.get(Calendar.MONTH); if (y2 > y1) { betweenMonths += (y2 - y1) * 12; } betweenMonths += (m2 - m1); return betweenMonths; } public static int getWeekInterval(Date startDate, Date endDate) { int betweenWeeks = 0; Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(startDate); c2.setTime(endDate); // 保证第二个时间一定大于第一个时间 if(c1.after(c2)){ c1 = c2; c2.setTime(startDate); } int y1 = c1.get(Calendar.YEAR); int y2 = c2.get(Calendar.YEAR); int w1 = c1.get(Calendar.WEEK_OF_YEAR); int w2 = c2.get(Calendar.WEEK_OF_YEAR); betweenWeeks += (w2 - w1); int betweenYears = y2 - y1; for (int i = 0; i < betweenYears; i++) { c1.set(Calendar.YEAR,(c1.get(Calendar.YEAR)+1)); betweenWeeks += c1.getMaximum(Calendar.WEEK_OF_YEAR); } return betweenWeeks; }
发表评论
-
Maven2 POM.xml 配置元素详解
2011-06-16 08:56 1401<!--可以免费转载,转载时请注明出处 http:// ... -
深入浅出URL编码
2010-12-24 09:35 918一、问题: 编码问题是JAVA初学者在web开 ... -
mysql自动关闭服务、连接限制等问题的解决方法
2010-11-22 09:36 3016通过mysql服务器端程序mysql Administrato ... -
高速缓存实现
2010-06-08 10:39 3947各位大虾,本人实现 ... -
Java开发中文件上传应用
2010-05-15 23:54 1138今天闲暇无所事事,很长时间没有写博客了,突然想起很多开发 ... -
Java ClassLoader 详解
2010-03-23 12:33 1071类加载器是 Java 语言的一个创新,也是 Java 语言流行 ... -
Java垃圾回收机制和性能调优
2010-01-29 12:40 8601.JVM的gc概述 g ... -
Java编码问题
2009-11-25 16:36 718乱码对于使用非英语文 ... -
JDK+Tomcat +eclipse+MyEclipse的配置
2009-11-16 14:48 1152说一下关于JDK+Tomcat +ecli ... -
Java图片水印处理
2009-10-30 13:28 1534import java.awt.AlphaComposite; ... -
Java正则表达式的解释说明
2009-10-28 18:18 685表达式意义: 1.字符 x ... -
Freemarker语法
2009-10-21 15:29 772常用语法 EG.一个对象BOOK 1.输出 $…{book.n ... -
Servlet的两种跳转区别
2009-10-19 13:46 1250在servlet中,一般跳转都 ... -
Berkeley DB实例
2009-10-15 09:49 1302package test; import com.sleep ... -
Berkeley DB使用说明
2009-10-14 18:32 1747关键字: berkeley db java edi ... -
Tomcat配置详解
2009-09-29 11:44 949第一步:下载j2sdk和tomcat 到sun官方站(htt ... -
URLConnection的连接、超时、关闭用法总结
2009-09-10 12:57 1771ava中可以使用HttpURLConnection来请求WEB ... -
Java操作图片改变大小加水印
2009-09-09 11:21 2018在实际的项目开发中,有可能遇到对图片的操作,比如加水印, ... -
操作抓取网络资源
2009-09-08 12:57 842在实际开发过程中,大家难免遇到抓取网络资源的操作,列如:抓 ... -
java中操作Excel
2009-09-08 12:49 1039在企业级开发中,经常遇到读写excel的操作,在此将一些 ...
相关推荐
Date时间操作工具类 js: 1.一个日期时间加上分钟数,得到一个新的日期时间 2.判断当前时间是否在时间段之内 3.根据默认的格式格式化时间 4.根据指定的格式格式化时间 5.改变月份 6.改变天数 7.计算天数间隔 8.Date转...
java中常用的时间操作;如日期,时间戳,日历,字符串相互转化;时间差等常用日期功能。
主要为大家详细介绍了java日期时间操作工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等
vue 字符和日期转换工具类,先将util里面的公共对象抛出,全局使用
java写的,操作日期时间的工具类,封装的比较完善,可以获取最小时间, 获取最大时间,获取今天最小时间,获取今天最大时间,获取明天的最小时间,获取明天的最大时间,获取昨天的最小时间,获取昨天的最大时间,...
本人在项目开发中遇到的关于时间的操作,各位可以直接下载做工具类用
[工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...
Java对时间进行操作的工具类,包括各种时间格式转化的方法以及一些时间比较登方法。
[工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...
1.[工具类] 读取、打印输出、保存xml .java ...7.[工具类] 文件操作工具类 .java 8.[工具类] 序列化保存为XML文件的工具类 .java 9.[工具类] 验证码img .jsp 10.[工具类] 中文验证.jsp ......... 等等20几个常用工具类.
java 代码级工具,JDK8,方便创建任意参数类型的ArrayList,HashMap,HashSet,缩短复杂的对象强制类型转换代码,运行代码级时间统计。代码例子地址:https://blog.csdn.net/xiuye2015/article/details/89813633
Elasticsearch的JAVA操作工具类,包括增删改查的封装,Elasticsearch的JAVA操作工具类,包括增删改查的封装
文件操作是任何语言中最为常用的部分,Java也不例外。这里主要介绍文件中包含的记录数,获取文件的MD5值,获取文件的生成时间,根据时间删除文件4个静态方法。
日期操作工具类 /** * 将日期对象按照换为时间字符串 * 默认格式为"yyyy-MM-dd HH:mm:ss" * @param sourceTime * @return * @throws ParseException */ public static String formatDate(Date ...
J2EE常用工具类汇总 ...J2EE常用工具类—时间处理工具类 J2EE常用工具类—文件打包解包处理类 J2EE常用工具类——文件操作类 J2EE常用工具类——邮件处理类(javaMail发送邮件) J2EE常用工具类——字符串工具类
工具类 DateUtil(日期处理) CalendarUtil(时间处理) PinyinUtils(汉字转拼音) PropertiesFileUitl(键值对文件存取)等,继续更新
Date日期处理的工具类,包括日期格式化,字符串转换成日期,对日期的【时分秒年月日】进行加/减,获取时间差,计算两个日期之间相差的天数,等各种对日期的操作
时间操作工具类
通用的Java工具类,主要包括基础工具类(时间、正则表达式、字符串、随机数等等),excel解析生成、word解析生成、文件操作、图片操作、敏感字、加解密等等