package grp.salary.person.controller;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import grp.pt.util.model.Session;
/**
* 时间处理工具类
* @author DREAM
*
*/
public class DateTimeUtils {
/**
* 根据Session获取业务时间
* @param session
* @return
*/
public static Timestamp getBusinessDatetime(Session session) {
Timestamp now = getCurrentDatetime();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
int year = calendar.get(1);
if (year == session.getBusiYear()) {
return now;
} else {
if (year > session.getBusiYear()) {
calendar.set(session.getBusiYear(), 11, 31, 11, 59, 59);
} else {
calendar.set(session.getBusiYear(), 0, 1, 0, 0, 0);
}
return new Timestamp(calendar.getTime().getTime());
}
}
/**
* 获取当前时间
* @return
*/
public static Timestamp getCurrentDatetime() {
Date date = new Date();
Timestamp time = new Timestamp(date.getTime());
return time;
}
public static long getLastVer() {
return System.currentTimeMillis();
}
public static Timestamp nowDatetime() {
return new Timestamp(System.currentTimeMillis());
}
public static void assertMonth(int month) {
if (month < 0 || month > 12) {
throw new IllegalArgumentException("月份只能输入1-12之间的数字");
}
}
/**
* 时间转换
* 可用于数据库date类型字段的存储格式化
* 例如:转换后的字符串可直接存入date类型的字段中
* 获取当前系统的日期:String nowDate = DateTimeUtils.getCurrentDate("yyyy-MM-dd HH:mm:ss");
* @param pattern
* @return
*/
public static String getCurrentDate(String pattern) {
LocalDateTime currentTime = LocalDateTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);
return currentTime.format(dtf);
}
}
时间处理工具类
最新推荐文章于 2024-07-16 10:28:31 发布
本文介绍了DateTimeUtils类,它提供了处理时间和业务时间的方法,包括根据Session获取业务时间、获取当前时间和时间转换等功能,用于简化日期操作和数据库存储格式化。
摘要由CSDN通过智能技术生成