Java日期工具类DateUtils详解
可以对指定的日期新增年、月、周、日、小时、分钟、秒、毫秒进行操作
package com.crit.common.utils;
import org.apache.commons.lang.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
-
日期处理
/
public class DateUtils {
/* 时间格式(yyyy-MM-dd) /
public final static String DATE_PATTERN = “yyyy-MM-dd”;
/* 时间格式(yyyy-MM-dd HH:mm:ss) /
public final static String DATE_TIME_PATTERN = “yyyy-MM-dd HH:mm:ss”;
/*- 日期格式化 日期格式为:yyyy-MM-dd
- @param date 日期
- @return 返回yyyy-MM-dd格式日期
*/
public static String format(Date date) {
return format(date, DATE_PATTERN);
}
/**
- 日期格式化 日期格式为:yyyy-MM-dd
- @param date 日期
- @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN
- @return 返回yyyy-MM-dd格式日期
*/
public static String format(Date date, String pattern) {
if(date != null){
SimpleDateFormat df = new SimpleDateFormat(pattern);
return df.format(date);
}
return null;
}
/**
-
字符串转换成日期
-
@param strDate 日期字符串
-
@param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN
*/
public static Date stringToDate(String strDate, String pattern) {
if (StringUtils.isBlank(strDate)){
return null;
}DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
return fmt.parseLocalDateTime(strDate).toDate();
}
/**
-
根据周数,获取开始日期、结束日期
-
@param week 周期 0本周,-1上周,-2上上周,1下周,2下下周
-
@return 返回date[0]开始日期、date[1]结束日期
*/
public static Date[] getWeekStartAndEnd(int week) {
DateTime dateTime = new DateTime();
LocalDate date = new LocalDate(dateTime.plusWeeks(week));date = date.dayOfWeek().withMinimumValue();
Date beginDate = date.toDate();
Date endDate = date.plusDays(6).toDate();
return new Date[]{beginDate, endDate};
}
/**
- 对日期的【秒】进行加/减
- @param date 日期
- @param seconds 秒数,负数为减
- @return 加/减几秒后的日期
*/
public static Date addDateSeconds(Date date, int seconds) {
DateTime dateTime = new DateTime(date);
return dateTime.plusSeconds(seconds).toDate();
}
/**
- 对日期的【分钟】进行加/减
- @param date 日期
- @param minutes 分钟数,负数为减
- @return 加/减几分钟后的日期
*/
public static Date addDateMinutes(Date date, int minutes) {
DateTime dateTime = new DateTime(date);
return dateTime.plusMinutes(minutes).toDate();
}
/**
- 对日期的【天】进行加/减
- @param date 日期
- @param days 天数,负数为减
- @return 加/减几天后的日期
*/
public static Date addDateDays(Date date, int days) {
DateTime dateTime = new DateTime(date);
return dateTime.plusDays(days).toDate();
}
/**
- 对日期的【周】进行加/减
- @param date 日期
- @param weeks 周数,负数为减
- @return 加/减几周后的日期
*/
public static Date addDateWeeks(Date date, int weeks) {
DateTime dateTime = new DateTime(date);
return dateTime.plusWeeks(weeks).toDate();
}
/**
- 对日期的【月】进行加/减
- @param date 日期
- @param months 月数,负数为减
- @return 加/减几月后的日期
*/
public static Date addDateMonths(Date date, int months) {
DateTime dateTime = new DateTime(date);
return dateTime.plusMonths(months).toDate();
}
/**
- 对日期的【年】进行加/减
- @param date 日期
- @param years 年数,负数为减
- @return 加/减几年后的日期
*/
public static Date addDateYears(Date date, int years) {
DateTime dateTime = new DateTime(date);
return dateTime.plusYears(years).toDate();
}
如果觉得本文对你有帮助,不妨点赞收藏起来把,说不定下次要用就找不到了呢。
- 点赞
- 收藏
- 关注作者
评论(0)