zoukankan      html  css  js  c++  java
  • 【Java】DateUtil(2)

    import java.sql.Timestamp;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
    import org.apache.commons.lang3.time.DateFormatUtils;
     
     
    /**
     * 日期工具类, 继承org.apache.commons.lang.time.DateUtils类
     * @author
     * @version 2015-10-12
     */
    public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
         
        private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
            "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" };
     
        /**
         * 得到当前日期字符串 格式(yyyy-MM-dd)
         */
        public static String getDate() {
            return getDate("yyyy-MM-dd");
        }
         
        /**
         * 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
         */
        public static String getDate(String pattern) {
            return DateFormatUtils.format(new Date(), pattern);
        }
         
        /**
         * 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
         */
        public static String formatDate(Date date, Object... pattern) {
            String formatDate = null;
            if (pattern != null && pattern.length > 0) {
                formatDate = DateFormatUtils.format(date, pattern[0].toString());
            } else {
                formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");
            }
            return formatDate;
        }
         
        /**
         * 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)
         */
        public static String formatDateTime(Date date) {
            return formatDate(date, "yyyy-MM-dd HH:mm:ss");
        }
     
        /**
         * 得到当前时间字符串 格式(HH:mm:ss)
         */
        public static String getTime() {
            return formatDate(new Date(), "HH:mm:ss");
        }
     
        /**
         * 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)
         */
        public static String getDateTime() {
            return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
        }
     
        /**
         * 得到当前年份字符串 格式(yyyy)
         */
        public static String getYear() {
            return formatDate(new Date(), "yyyy");
        }
     
        /**
         * 得到当前月份字符串 格式(MM)
         */
        public static String getMonth() {
            return formatDate(new Date(), "MM");
        }
     
        /**
         * 得到当天字符串 格式(dd)
         */
        public static String getDay() {
            return formatDate(new Date(), "dd");
        }
     
        /**
         * 得到当前星期字符串 格式(E)星期几
         */
        public static String getWeek() {
            return formatDate(new Date(), "E");
        }
         
        /**
         * 日期型字符串转化为日期 格式
         * { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
         *   "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }
         */
        public static Date parseDate(Object str) {
            if (str == null){
                return null;
            }
            try {
                return parseDate(str.toString(), parsePatterns);
            } catch (ParseException e) {
                return null;
            }
        }
     
        /**
         * 获取过去的天数
         * @param date
         * @return
         */
        public static long pastDays(Date date) {
            long t = new Date().getTime()-date.getTime();
            return t/(24*60*60*1000);
        }
         
         
        public static Date getDateStart(Date date) {
            if(date==null) {
                return null;
            }
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                date= sdf.parse(formatDate(date, "yyyy-MM-dd")+" 00:00:00");
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return date;
        }
         
        public static Date getDateEnd(Date date) {
            if(date==null) {
                return null;
            }
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                date= sdf.parse(formatDate(date, "yyyy-MM-dd") +" 23:59:59");
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return date;
        }
         
        /**
         * 判断字符串是否是日期
         * @param timeString
         * @return
         */
        public static boolean isDate(String timeString){
            SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
            format.setLenient(false);
            try{
                format.parse(timeString);
            }catch(Exception e){
                return false;
            }
            return true;
        }
         
        /**
         * 格式化时间
         * @param timestamp
         * @return
         */
        public static String dateFormat(Date timestamp){
            SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return format.format(timestamp);
        }
         
        /**
         * 获取系统时间Timestamp
         * @return
         */
        public static Timestamp getSysTimestamp(){
            return new Timestamp(new Date().getTime());
        }
         
        /**
         * 获取系统时间Date
         * @return
         */
        public static Date getSysDate(){
            return new Date();
        }
         
        /**
         * 生成时间随机数
         * @return
         */
        public static String getDateRandom(){
            String s=new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
            return s;
        }
         
        /**
         * @param args
         * @throws ParseException
         */
        public static void main(String[] args) throws ParseException {
    //      System.out.println(formatDate(parseDate("2010/3/6")));
    //      System.out.println(getDate("yyyy年MM月dd日 E"));
    //      long time = new Date().getTime()-parseDate("2012-11-19").getTime();
    //      System.out.println(time/(24*60*60*1000));
        }
    }
  • 相关阅读:
    MIT 6.828 JOS学习笔记10. Lab 1 Part 3: The kernel
    Java基础知识点4:继承
    CentOS Installation
    超微主板创建RAID磁盘阵列
    MySQL查询语句
    Psql操作命令
    Let's Encrypt 免费 SSL 证书续期
    Linux系统禁用swap分区
    公共 NTP 服务器地址
    Postgresql配置
  • 原文地址:https://www.cnblogs.com/baoyu7yi/p/7071399.html
Copyright © 2011-2022 走看看