java日期工具类_java日期工具类

public class DateUtils {

private static Log logger = LogFactory.getLog(DateUtils.class);

public static String getFirstDayOfMonth(int year, int month) {

Calendarcal = Calendar.getInstance();

// 设置年份

cal.set(Calendar.YEAR, year);

// 设置月份

cal.set(Calendar.MONTH, month - 1);

// 设置日历中月份的第1天

cal.set(Calendar.DAY_OF_MONTH, 1);

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String firstDayOfMonth = sdf.format(cal.getTime());

return firstDayOfMonth;

}

public static String getLastDayOfMonth(int year, int month) {

Calendar cal = Calendar.getInstance();

// 设置年份

cal.set(Calendar.YEAR, year);

// 设置月份

cal.set(Calendar.MONTH, month);

// 设置日历中月份的最后1天

cal.set(Calendar.DATE, 0);

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String lastDayOfMonth = sdf.format(cal.getTime());

return lastDayOfMonth;

}

public static String getFirstDayOfYear(int year) {

Calendar cal = Calendar.getInstance();

// 设置年份

cal.set(Calendar.YEAR, year);

// 设置月份

cal.set(Calendar.MONTH, 0);

// 设置日历中月份的第1天

cal.set(Calendar.DAY_OF_MONTH, 1);

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String firstDayOfYear = sdf.format(cal.getTime());

return firstDayOfYear;

}

public static String getLastDayOfYear(int year) {

Calendar cal = Calendar.getInstance();

// 设置年份

cal.set(Calendar.YEAR, year);

// 设置月份

cal.set(Calendar.MONTH, 11);

// 设置日历中月份的最后1天

cal.set(Calendar.DATE, 0);

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String lastDayOfYear = sdf.format(cal.getTime());

return lastDayOfYear;

}

/**

* 获取当前月第一天

* @return

*/

public static String firstDayOfCurrentMonth(){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Calendar cal=Calendar.getInstance();//获取当前日期

cal.add(Calendar.MONTH, 0);

cal.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天

return sdf.format(cal.getTime());

}

/**

* 获取当前月最后一天

* @return

*/

public static String lastDayOfCurrentMonth(){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Calendar cal = Calendar.getInstance();//获取当前日期

cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));

return sdf.format(cal.getTime());

}

public static String compareDate(String firstDate, String lastDate) {

String retDate = null ;

if(StringUtils.isEmpty(firstDate) && !StringUtils.isEmpty(lastDate)) {

return lastDate ;

}

if(!StringUtils.isEmpty(firstDate) && StringUtils.isEmpty(lastDate)) {

return firstDate ;

}

if(!StringUtils.isEmpty(firstDate) && !StringUtils.isEmpty(lastDate)) {

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

Date first = sdf.parse(firstDate) ;

Date last = sdf.parse(lastDate) ;

if(first.after(last)) {

return sdf.format(first) ;

}else{

return sdf.format(last) ;

}

} catch (ParseException e) {

logger.error("", e);

}

}

return retDate ;

}

public static Date getNextDay(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DAY_OF_MONTH, +1);//+1今天的时间加一天

date = calendar.getTime();

return date;

}

/**

* 获取日期的月份

* @param date

* @return

*/

public static String getMonth(Date date){

Calendar cal = Calendar.getInstance();

cal.setTime(date);

int month = cal.get(Calendar.MONTH) + 1;

if(month < 10){

return "0"+month;

} else {

return String.valueOf(month);

}

}

/**

* 使用用户格式格式化日期

*

* @param date日期

* @param pattern日期格式

* @return

*/

public static String format(Date date, String pattern) {

String returnValue = "";

if (date != null) {

SimpleDateFormat df = new SimpleDateFormat(pattern);

returnValue = df.format(date);

}

return (returnValue);

}

/**

* 比较两个日期大小

* @param DATE1

* @param DATE2

* @param format 格式 yyyy-MM-dd,yyyy-MM-dd hh:mm:ss

* @return

*/

public static int compareDate(String DATE1, String DATE2, String format) {

DateFormat df = new SimpleDateFormat(format);

try {

Date dt1 = df.parse(DATE1);

Date dt2 = df.parse(DATE2);

if (dt1.getTime() > dt2.getTime()) {

return 1;

} else if (dt1.getTime() < dt2.getTime()) {

return -1;

} else {

return 0;

}

} catch (Exception e) {

e.printStackTrace();

}

return 0;

}

public static void main(String[] args) {

System.out.println(firstDayOfCurrentMonth());

System.out.println(lastDayOfCurrentMonth());

String camStartDate = "2016-11-11";

String camEndDate = "2019-11-11";

List years = new ArrayList<>();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

try {

Date d1 = sdf.parse(camStartDate);

Date d2 = sdf.parse(camEndDate);

Calendar c = Calendar.getInstance();

c.setTime(d1);

int year1 = c.get(Calendar.YEAR);

c.setTime(d2);

int year2 = c.get(Calendar.YEAR);

do {

if(year1 >= 2017){

years.add(year1 + "");

}

year1++;

} while (year2 >= year1);

} catch (ParseException e) {

e.printStackTrace();

}

System.out.println(years);

}

/**

* 传入月份,将period转换为MM的格式

* @param period

* @return

*/

public static String getMonthTwoPlace(String period){

if(period.length() == 2){

return period;

}

if(period.length() == 1){

return "0" + period;

}

return null;

}

/**

* 将日期字符串转化为Date类型

* @param dateStr

* @param pattern

* @return

*/

public static Date StringToDate(String dateStr, String pattern) {

try {

DateFormat sdf = new SimpleDateFormat(pattern);

Date date = sdf.parse(dateStr);

return date;

} catch (Exception ex) {

return null;

}

}

/**

* 将日期转化为字符串类型

* @param dateStr

* @param pattern

* @return

*/

public static String dateToString(Date date, String pattern) {

DateFormat sdf = new SimpleDateFormat(pattern);

String dateStr = sdf.format(date);

return dateStr;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值