java--分别获取详细时间信息(年月日时分秒)工具类

版权声明:本文为博主原创文章,如需转载请标明出处。 https://blog.csdn.net/DGH2430284817/article/details/87658020

本时间工具类具有的功能:

  1.           时间转换字符串
  2.           字符串转换时间
  3.           分别获取当前时间的年月日时分秒信息
  4.           分别获取指定时间的年月日时分秒信息

具体比较详细的时间和字符串的转换可以看我另一篇博客: 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:

扫描二维码关注公众号,回复: 5569874 查看本文章
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

猜你喜欢

转载自blog.csdn.net/DGH2430284817/article/details/87658020