(八)Java日期工具类DateUtils详解(一)
2018-01-23 13:17
381 查看
一、 对指定的日期新增年、月、周、日、小时、分钟、秒、毫秒
public static Date addDays(Date date, int amount)
结果是:
public static Date addHours(Date date, int amount)
结果:
public static Date addMinutes(Date date, int amount)
结果:
public static Date addSeconds(Date date, int amount)
结果:
public static Date addMilliseconds(Date date, int amount)
结果:
public static Date addYears(Date date, int amount)
结果:
public static Date addMonths(Date date, int amount)
结果:
public static Date addWeeks(Date date, int amount)
结果:
二、设置日期中年、月、日、时、分、秒、毫秒值为指定的数字值
public static Date setYears(Date date,int amount)
结果:
public static Date setMonths(Date date, int amount)
结果:
public static Date setDays(Date date, int amount)
结果:
public static Date setHours(Date date, int amount)
结果:
public static Date setMinutes(Date date, int amount)
结果:
public static Date setSeconds(Date date, int amount)
结果:
public static Date setMilliseconds(Date date, int amount)
结果:
三、检查日期是否相同
public static boolean isSameDay(Date date1, Date date2)
结果:
public static boolean isSameDay(Calendar cal1, Calendar cal2)
结果:
public static boolean isSameInstant(Date date1, Date date2)
结果:
public static boolean isSameInstant(Calendar cal1, Calendar cal2)
结果:
public static boolean isSameLocalTime(Calendar cal1,Calendar cal2)
结果:
public static Date addDays(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss")); date = DateUtils.addDays(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
结果是:
2018-01-23 11:53:49 2018-01-24 11:53:49这里写代码片
说明:向返回新对象日期添加若干天,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addHours(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss")); date = DateUtils.addHours(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
结果:
2018-01-23 11:58:26 2018-01-23 12:58:26
说明:向新返回日期对象添加若干小时,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addMinutes(Date date, int amount)
Date date = new Date(); System.out.println(Date 4000 Util.dateToString(date, "yyyy-MM-dd HH:mm:ss")); date = DateUtils.addMinutes(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
结果:
2018-01-23 13:04:05 2018-01-23 13:05:05
说明:向新返回日期对象添加若干分钟,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addSeconds(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss")); date = DateUtils.addSeconds(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
结果:
2018-01-23 13:06:42 2018-01-23 13:06:43
说明:向新返回日期对象添加若干秒,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addMilliseconds(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.addMilliseconds(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:10:26:579 2018-01-23 13:10:26:580
说明:向新返回日期对象添加若干毫秒,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addYears(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.addYears(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:12:44:742 2019-01-23 13:12:44:742
说明:向新返回日期对象添加若干年,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addMonths(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.addMonths(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:14:13:354 2018-02-23 13:14:13:354
说明:向新返回日期对象添加若干年,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
public static Date addWeeks(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.addWeeks(date, 1); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:15:21:608 2018-01-30 13:15:21:608
说明:向新返回日期对象添加若干周,原始日期不变; 参数:date-日期,可能为空;amount-添加的量可能为复值; 返回值:返回一个新日期,原始日期不变; 抛出异常:IllegalArgumentException,如果日期为null;
二、设置日期中年、月、日、时、分、秒、毫秒值为指定的数字值
public static Date setYears(Date date,int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setYears(date, 2015); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:24:13:838 2015-01-23 13:24:13:838
说明:设置日期中年字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
public static Date setMonths(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setMonths(date, 11); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:30:28:161 2018-12-23 13:30:28:161
说明:设置日期中月字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值,且值为0—11; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
public static Date setDays(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setDays(date, 11); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:33:41:587 2018-01-11 13:33:41:587
说明:设置日期中日字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到当月最大天数; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
public static Date setHours(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setHours(date, 16); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:36:01:860 2018-01-23 16:36:01:860
说明:设置日期中小时字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到23; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
public static Date setMinutes(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setMinutes(date, 16); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:37:28:681 2018-01-23 13:16:28:681
说明:设置日期中分钟字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到59; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
public static Date setSeconds(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setSeconds(date, 10); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:39:19:946 2018-01-23 13:39:10:946
说明:设置日期中秒字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到59; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
public static Date setMilliseconds(Date date, int amount)
Date date = new Date(); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS")); date = DateUtils.setMilliseconds(date, 10); System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
结果:
2018-01-23 13:40:38:666 2018-01-23 13:40:38:010
说明:设置日期中毫秒字段并返回一个新的日期对象,原始日期值不变; 参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到999; 返回:一个新的日期对象; 抛出异常:IllegalArgumentException,如果日期为null或者负值;
三、检查日期是否相同
public static boolean isSameDay(Date date1, Date date2)
Date date1 = new Date(); Date date2 = new Date(); System.out.println(DateUtils.isSameDay(date1, date2));
结果:
true
说明:检查两个日期对象是否同一天忽略时间(28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false.); 参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空; 返回值:true,如果两个日期在同一天; 抛出异常:IllegalArgumentException如果有一个日期为null;
public static boolean isSameDay(Calendar cal1, Calendar cal2)
Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); System.out.println(DateUtils.isSameDay(cal1, cal2));
结果:
true
说明:检查两个日期对象是否同一天忽略时间(28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false); 参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空; 返回值:true,如果两个日期在同一天; 抛出异常:IllegalArgumentException如果有一个日期为null;
public static boolean isSameInstant(Date date1, Date date2)
Date date1 = new Date(); date1 = DateUtils.addMinutes(date1, 23); Date date2 = new Date(); System.out.println(DateUtils.isSameInstant(date1, date2));
结果:
false
说明:检查两个日期对象是否代表同一时刻,此方法比较两个日期精确到毫秒数; 参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空; 返回值:true,如果两个日期代表相同的毫秒时刻; 抛出异常:IllegalArgumentException如果有一个日期为null;
public static boolean isSameInstant(Calendar cal1, Calendar cal2)
Calendar cal1 = Calendar.getInstance(); Date date3 = DateUtils.addHours(cal1.getTime(), 12); cal1.setTime(date3); Calendar cal2 = Calendar.getInstance(); System.out.println(DateUtils.isSameInstant(cal1, cal2));
结果:
false
说明:检查两个日期对象是否代表同一时刻,此方法比较两个日期精确到毫秒数; 参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空; 返回值:true,如果两个日期代表相同的毫秒时刻; 抛出异常:IllegalArgumentException如果有一个日期为null;
public static boolean isSameLocalTime(Calendar cal1,Calendar cal2)
Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); System.out.println(DateUtils.isSameLocalTime(cal1, cal2));
结果:
true
说明:检查两个日历对象是否表示相同的本地时间,此方法比较两个对象的字段值,另外两个日历必须为同一类型的日历; 参数:cal1-第一个参数,不能改变,非空;cal2-第二个参数,不能改变,非空; 返回值:true,如果两个日期代表相同的毫秒时刻; 抛出异常:IllegalArgumentException如果有一个日期为null;
相关文章推荐
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- Java日期处理工具类DateUtils详解
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)
- (八)Java日期工具类DateUtils详解(一)