本时间工具类具有的功能:
-
时间转换字符串
-
字符串转换时间
-
分别获取当前时间的年月日时分秒信息
-
分别获取指定时间的年月日时分秒信息
具体比较详细的时间和字符串的转换可以看我另一篇博客:
https://blog.csdn.net/DGH2430284817/article/details/87169203
定义时间的格式和工具类属性:
//先定义时间转换的格式
private static final SimpleDateFormat YMDHMS = new SimpleDateFormat("yyyyMMddHHmmss");
private static final Calendar cal = Calendar.getInstance();
时间转换字符串:
/** 时间转字符串
* @param rq
* @return 格式:yyyyMMdd
public static final String formatYmdhms(Date rq) {
if(rq == null){
return "";
return YMDHMS.format(rq);
字符串转换时间:
/** 字符串转时间
* @param rq 格式:yyyyMMdd
* @return
* @throws Exception
public static final Date parseYmdhms(String rq) throws Exception {
if(rq == null){
return null;
try {
return YMDHMS.parse(rq);
} catch (ParseException e) {
System.out.println("【字符转换时间异常】:"+e.getMessage());
throw new Exception( "字符转换时间异常", e);
分别获取当前时间的年月日时分秒信息(以年为例):
/**获取当前系统时间的年份
* @return
public static int getYear() {
cal.setTime(new Date());
return cal.get(Calendar.YEAR);
分别获取指定时间的年月日时分秒信息(以年为例):
/**获取指定时间的年份
* @param date //指定时间
* @return
public static int getYear( Date date) {
cal.setTime(date);
return cal.get(Calendar.YEAR);
//测试方法
public static void main(String[] args) throws Exception {
Date date = new Date();
System.out.println("时间转字符串,格式yyyyMMdd:" + DateUtil.formatYmdhms(date));
System.out.println("字符串转时间,格式yyyyMMdd:" + DateUtil.parseYmdhms("20180606060606"));
System.out.println("获取当前系统时间的年份:" + DateUtil.getYear());
System.out.println("获取指定时间的年份:" + DateUtil.getYear(DateUtil.parseYmdhms("20180606060606")));
时间转字符串,格式yyyyMMddHHmmss:20190219104350
字符串转时间,格式yyyyMMddHHmmss:Wed Jun 06 06:06:06 CST 2018
获取当前系统时间的年份:2019
获取指定时间的年份:2018
完整的时间工具类:
DateUtil.java:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
* @author 时间工具类
public class DateUtil {
//先定义时间转换的格式
private static final SimpleDateFormat YMDHMS = new SimpleDateFormat("yyyyMMddHHmmss");
private static final Calendar cal = Calendar.getInstance();
//测试方法
public static void main(String[] args) throws Exception {
Date date = new Date();
System.out.println("时间转字符串,格式yyyyMMdd:" + DateUtil.formatYmdhms(date));
System.out.println("字符串转时间,格式yyyyMMdd:" + DateUtil.parseYmdhms("20180606060606"));
System.out.println("获取当前系统时间的年份:" + DateUtil.getYear());
System.out.println("获取指定时间的年份:" + DateUtil.getYear(DateUtil.parseYmdhms("20180606060606")));
System.out.println("获取当前系统时间的月份:" + DateUtil.getMonth());
System.out.println("获取指定时间的月份:" + DateUtil.getMonth(DateUtil.parseYmdhms("20180606060606")));
System.out.println("获取当前系统时间的日期:" + DateUtil.getDay());
System.out.println("获取指定时间的日期:" + DateUtil.getDay(DateUtil.parseYmdhms("20180606060606")));
System.out.println("获取当前系统时间的小时:" + DateUtil.getHour());
System.out.println("获取指定时间的小时:" + DateUtil.getHour(DateUtil.parseYmdhms("20180606060606")));
System.out.println("获取当前系统时间的分钟:" + DateUtil.getMinute());
System.out.println("获取指定时间的分钟:" + DateUtil.getMinute(DateUtil.parseYmdhms("20180606060606")));
System.out.println("获取当前系统时间的秒钟:" + DateUtil.getSecond());
System.out.println("获取指定时间的秒钟:" + DateUtil.getSecond(DateUtil.parseYmdhms("20180606060606")));
/** 时间转字符串
* @param rq
* @return 格式:yyyyMMdd
public static final String formatYmdhms(Date rq) {
if(rq == null){
return "";
return YMDHMS.format(rq);
/** 字符串转时间
* @param rq 格式:yyyyMMdd
* @return
* @throws Exception
public static final Date parseYmdhms(String rq) throws Exception {
if(rq == null){
return null;
try {
return YMDHMS.parse(rq);
} catch (ParseException e) {
System.out.println("【字符转换时间异常】:"+e.getMessage());
throw new Exception( "字符转换时间异常", e);
/**获取当前系统时间的年份
* @return
public static int getYear() {
cal.setTime(new Date());
return cal.get(Calendar.YEAR);
/**获取指定时间的年份
* @param date //指定时间
* @return
public static int getYear( Date date) {
cal.setTime(date);
return cal.get(Calendar.YEAR);
/**获取当前系统时间的月份
* @return
public static int getMonth() {
cal.setTime(new Date());
return cal.get(Calendar.MONTH)+1;//不知道是系统的BUG还是怎样,获取的月份要比时间的少1,于是加个1
/**获取指定时间的月份
* @param date //指定时间
* @return
public static int getMonth( Date date) {
cal.setTime(date);
return cal.get(Calendar.MONTH)+1;
/**获取当前系统时间的日期
* @return
public static int getDay() {
cal.setTime(new Date());
return cal.get(Calendar.DATE);
/**获取指定时间的日期
* @param date //指定时间
* @return
public static int getDay( Date date) {
cal.setTime(date);
return cal.get(Calendar.DATE);
/**获取当前系统时间的小时
* @return
public static int getHour() {
cal.setTime(new Date());
return cal.get(Calendar.HOUR_OF_DAY);
/**获取指定时间的小时
* @param date //指定时间
* @return
public static int getHour( Date date) {
cal.setTime(date);
return cal.get(Calendar.HOUR_OF_DAY);
/**获取当前系统时间的分钟
* @return
public static int getMinute() {
cal.setTime(new Date());
return cal.get(Calendar.MINUTE);
/**获取指定时间的分钟
* @param date //指定时间
* @return
public static int getMinute( Date date) {
cal.setTime(date);
return cal.get(Calendar.MINUTE);
/**获取当前系统时间的秒钟
* @return
public static int getSecond() {
cal.setTime(new Date());
return cal.get(Calendar.SECOND);
/**获取指定时间的秒钟
* @param date //指定时间
* @return
public static int getSecond( Date date) {
cal.setTime(date);
return cal.get(Calendar.SECOND);
运行测试结果:
时间转字符串,格式yyyyMMddHHmmss:20190219104503
字符串转时间,格式yyyyMMddHHmmss:Wed Jun 06 06:06:06 CST 2018
获取当前系统时间的年份:2019
获取指定时间的年份:2018
获取当前系统时间的月份:2
获取指定时间的月份:6
获取当前系统时间的日期:19
获取指定时间的日期:6
获取当前系统时间的小时:10
获取指定时间的小时:6
获取当前系统时间的分钟:45
获取指定时间的分钟:6
获取当前系统时间的秒钟:3
获取指定时间的秒钟:6
本时间工具类具有的功能: 时间转换字符串 字符串转换时间 分别获取当前时间的年月日时分秒信息 分别获取指定时间的年月日时分秒信息具体比较详细的时间和字符串的转换可以看我另一篇博客: https://blog.csdn.net/DGH2430284817/article/details/87169203 ...
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import jav
很多地方都会用到Date日期处理,睿智平台当然也包括自己的dateUtil、stringutil、fileutil、IOUtil、NetUtil、XMLUtil等等大量的辅助开发工具类,这里先介绍一个大家常用的DateUtil
/**package org.sagacity.framework.utils;
import java.sql.Timestamp;import java.text....
public static Date parseTimeString2Date(String timeString) {
if ((timeString == null) || (timeString.equals(""))) {
return null;
Date da...
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class TimeCutUtil {
private static SimpleDateFormat sdf = new SimpleDateFormat.
this.list[0].expiryStartTime = '2019=09-02 16:23:50' // 日期格式
var beginDate = new Date(this.list[i].expiryStartTime).getTime()
var endDate = new Date(this.list[i].expiryEndTime).getTime()
var days = (endDa
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(date);
System.out.println("当前时间为:" + currentTime);
运行结果如下:
当前时间为:2022-01-01 12:00:00
其中,SimpleDateFormat类中的"yyyy-MM-dd HH:mm:ss"表示时间格式,具体含义如下:
- yyyy:年份,如2022
- MM:月份,如01
- dd:日期,如01
- HH:小时,24小时制,如12
- mm:分钟,如00
- ss:秒钟,如00
通过修改时间格式,可以获取不同格式的时间信息。