在开发中我们经常还会用到日期时间,以下是一个日期时间工具类,包含:
- 获取每月月初时间戳
- 获取每月15号时间戳
- 获取每月月末时间戳
- 获取当前被格式化后的日期
- 从这些方法中你可以改写出你需要的方法
PS:不足之处请指出,共同学习、共同进步 !
package *.*.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class WsDateUtil {
static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
/**
* 获取指定时间戳所在月份开始的时间戳/秒
* @param dateTimeMillis 指定时间戳/毫秒
* @return
*/
public static Long getMonthBegin(Long dateTimeMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(dateTimeMillis));
//设置为1号,当前日期既为本月第一天
c.set(Calendar.DAY_OF_MONTH, 1);
//将小时至0
c.set(Calendar.HOUR_OF_DAY, 0);
//将分钟至0
c.set(Calendar.MINUTE, 0);
//将秒至0
c.set(Calendar.SECOND,0);
//将毫秒至0
c.set(Calendar.MILLISECOND, 0);
// 获取本月第一天的时间戳
return c.getTimeInMillis() / 1000;
}
/**
* 获取指定时间戳所在月份15号的时间戳/秒
* @param dateTimeMillis 指定时间戳/毫秒
* @return
*/
public static Long getMonthMiddle(Long dateTimeMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(dateTimeMillis));
//设置为当月最后一天
c.set(Calendar.DAY_OF_MONTH, 15);
//将小时至23
c.set(Calendar.HOUR_OF_DAY, 23);
//将分钟至59
c.set(Calendar.MINUTE, 59);
//将秒至59
c.set(Calendar.SECOND,59);
//将毫秒至999
c.set(Calendar.MILLISECOND, 999);
// 获取本月最后一天的时间戳
return c.getTimeInMillis() / 1000;
}
/**
* 获取指定时间戳所在月份结束的时间戳/秒
* @param dateTimeMillis 指定时间戳/毫秒
* @return
*/
public static Long getMonthEnd(Long dateTimeMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(dateTimeMillis));
//设置为当月最后一天
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
//将小时至23
c.set(Calendar.HOUR_OF_DAY, 23);
//将分钟至59
c.set(Calendar.MINUTE, 59);
//将秒至59
c.set(Calendar.SECOND,59);
//将毫秒至999
c.set(Calendar.MILLISECOND, 999);
// 获取本月最后一天的时间戳
return c.getTimeInMillis() / 1000;
}
/**
* 获取上一个月1号0点0分0秒的时间戳
* @param dateTimeMillis
* @return
*/
public static Long getPreviousMonthBegin(Long dateTimeMillis){
Date date = new Date(dateTimeMillis);
date.setDate(1);
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
if(date.getMonth() - 1 <= 0){
date.setYear(date.getYear() - 1);
date.setMonth(12);
}else {
date.setMonth(date.getMonth() - 1);
}
return date.getTime() / 1000;
}
/**
* 获取当前日期
* @return
*/
public static String getCurrentDate() {
Date date = new Date();
return sdf.format(date);
}
}
最后给各位看官来波福利!
阿里云服务器代金券和折扣免费领:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ypbt9nme
性能级主机2-5折:https://promotion.aliyun.com/ntms/act/enterprise-discount.html?userCode=ypbt9nme
新用户云通讯专享8折:https://www.aliyun.com/acts/alicomcloud/new-discount?userCode=ypbt9nme
新老用户云主机低4折专项地址:https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=ypbt9nme
680元即可注册商标专项地址:https://tm.aliyun.com/?userCode=ypbt9nme