- 浏览: 88576 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 1421<!--可以免费转载,转载时请注明出处 http:// ... -
深入浅出URL编码
2010-12-24 09:35 948一、问题: 编码问题是JAVA初学者在web开 ... -
mysql自动关闭服务、连接限制等问题的解决方法
2010-11-22 09:36 3036通过mysql服务器端程序mysql Administrato ... -
高速缓存实现
2010-06-08 10:39 3995各位大虾,本人实现 ... -
Java开发中文件上传应用
2010-05-15 23:54 1163今天闲暇无所事事,很长时间没有写博客了,突然想起很多开发 ... -
Java ClassLoader 详解
2010-03-23 12:33 1102类加载器是 Java 语言的一个创新,也是 Java 语言流行 ... -
Java垃圾回收机制和性能调优
2010-01-29 12:40 8781.JVM的gc概述 g ... -
Java编码问题
2009-11-25 16:36 740乱码对于使用非英语文 ... -
JDK+Tomcat +eclipse+MyEclipse的配置
2009-11-16 14:48 1187说一下关于JDK+Tomcat +ecli ... -
Java图片水印处理
2009-10-30 13:28 1553import java.awt.AlphaComposite; ... -
Java正则表达式的解释说明
2009-10-28 18:18 713表达式意义: 1.字符 x ... -
Freemarker语法
2009-10-21 15:29 791常用语法 EG.一个对象BOOK 1.输出 $…{book.n ... -
Servlet的两种跳转区别
2009-10-19 13:46 1287在servlet中,一般跳转都 ... -
Berkeley DB实例
2009-10-15 09:49 1333package test; import com.sleep ... -
Berkeley DB使用说明
2009-10-14 18:32 1775关键字: berkeley db java edi ... -
Tomcat配置详解
2009-09-29 11:44 968第一步:下载j2sdk和tomcat 到sun官方站(htt ... -
URLConnection的连接、超时、关闭用法总结
2009-09-10 12:57 1797ava中可以使用HttpURLConnection来请求WEB ... -
Java操作图片改变大小加水印
2009-09-09 11:21 2070在实际的项目开发中,有可能遇到对图片的操作,比如加水印, ... -
操作抓取网络资源
2009-09-08 12:57 861在实际开发过程中,大家难免遇到抓取网络资源的操作,列如:抓 ... -
java中操作Excel
2009-09-08 12:49 1060在企业级开发中,经常遇到读写excel的操作,在此将一些 ...
相关推荐
Date时间操作工具类 js: 1.一个日期时间加上分钟数,得到一个新的日期时间 2.判断当前时间是否在时间段之内 3.根据默认的格式格式化时间 4.根据指定的格式格式化时间 5.改变月份 6.改变天数 7.计算天数间隔 8.Date转...
java中常用的时间操作;如日期,时间戳,日历,字符串相互转化;时间差等常用日期功能。
java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等
vue 字符和日期转换工具类,先将util里面的公共对象抛出,全局使用
Java操作工具类是Java开发中常见的一种代码组织方式,它集合了各种常用的功能函数,以提高代码复用性和开发效率。这些工具类通常包含了对字符串、数组、集合、日期时间等基本数据类型的操作,以及文件I/O、网络通信...
在IT行业中,数据库是存储和管理数据的核心组件,而连接数据库的操作工具类则是开发者与数据库交互的桥梁。本文将详细解析标题为“连接数据库操作工具类”的资源,它包含了一个数据库链接工具类、一个数据库操作工具...
在提供的`TimeFormat.java`文件中,可能包含了对这些类的封装和扩展,以提供更加便捷的日期时间操作。例如,可能会有以下功能: 1. 格式化日期时间:提供一个静态方法,接收一个`Date`对象和格式模板字符串,返回...
java写的,操作日期时间的工具类,封装的比较完善,可以获取最小时间, 获取最大时间,获取今天最小时间,获取今天最大时间,获取明天的最小时间,获取明天的最大时间,获取昨天的最小时间,获取昨天的最大时间,...
1、Cron表达式解析(比如Quartz的Cron表达式),计算下一次触发时间; 2、经常使用的时间相关的操作工具类,比如时间格式化,字符串、Date、localDate、LocalDateTime类型间的转换等
`Calendar`提供了更灵活的日期时间操作,但API设计复杂,使用起来较为繁琐。 Java 8引入了`java.time`包,这是对日期时间API的重大改进,它包含了一系列新的类,如`LocalDate`、`LocalTime`、`LocalDateTime`、`...
标题"redis操作工具类"暗示我们将讨论如何在Spring Boot应用中创建一个Redis操作的工具类,以便于对Redis进行便捷的CRUD(创建、读取、更新、删除)操作。这个工具类通常会利用`StringRedisTemplate`,它是Spring ...
[工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...
时间操作工具类; 定时器 跨平台(linux,windows,ios,android)日志头文件 script windows平台下批量运行exe及终止脚本 Jenkins打包部分的python脚本 project windows系统下自动升级接口,包括利用curl库的下载...
这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...
日历和时间操作类帮助开发者处理日期和时间,例如获取当前时间、计算时间差、格式化日期等。 配置文件操作类方便读取和写入应用程序的配置信息,如XML或ini文件,使得配置信息可以独立于代码进行修改。 条形码类...
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操作 工具类1.0"中,我们看到几个关键的工具类,包括DateUtil、CalendarUtil、PinyinUtils以及PropertiesFileUtil。下面将详细解释这些工具类的功能及其在实际开发中的应用。 1. **DateUtil(日期处理...