• java_method_日期方法


    package cn.com.qmhd.tools;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class DateUtils {
        private static DateUtils dateUtils = null;
        private Calendar calendar;
        private SimpleDateFormat sdf;
        
        public static DateUtils getInstance(){
            if (dateUtils==null) {
                dateUtils=new DateUtils();
            }
            return dateUtils;
        }
        
        /**
         * 时间格式转换
         * @param date 指定日期
         * @param format 日期转换成字符串的格式,例如:"yyyy-MM-dd HH:mm:ss"
         */
        public String date(Date date,String format){
            sdf=new SimpleDateFormat(format);
            String time=sdf.format(date);
            return time;
        }
        
        /**
         * 获取当前时间
         * @param format 日期转换成字符串的格式,例如:"yyyy-MM-dd HH:mm:ss"
         * @return 返回字符串格式当前时间
         */
        public String getNowDate(String format){
            sdf = new SimpleDateFormat(format);
            return sdf.format(new Date());
        }
        
        //获取当前时间年份
        public int getNowYear(){
            return Calendar.getInstance().get(Calendar.YEAR);
        }
        
        //获取当前时间月份
        public int getNowMonth(){
            return Calendar.getInstance().get(Calendar.MONTH)+1;
        }
        
        //获取当前时间日期
        public int getNowDay(){
            return Calendar.getInstance().get(Calendar.DATE);
        }
        
        //获取当前时间小时
        public int getNowHour(){
            return Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        }
        
        //获取当前时间分钟
        public int getNowMinute(){
            return Calendar.getInstance().get(Calendar.MINUTE);
        }
        
        //获取当前时间秒
        public int getNowSecond(){
            return Calendar.getInstance().get(Calendar.SECOND);
        }
        
        /**获取指定某天的年、月、日、时、分、秒信息
         * @param date 指定日期
         * @param str 需要获取日期内信息名称
         * @return 返回需要日期信息,当返回值为-1,则输入日期或者获取信息名称有误
         */
        public int dateInfos(Date date,String str){
            calendar=Calendar.getInstance();
            calendar.setTime(date);
            
            int year=calendar.get(Calendar.YEAR);
            int month=calendar.get(Calendar.MONTH)+1;
            int day=calendar.get(Calendar.DATE);
            int hour=calendar.get(Calendar.HOUR);
            int minute=calendar.get(Calendar.MINUTE);
            int second=calendar.get(Calendar.SECOND);
            
            if("year".equals(str)){
                return year;
            }else if("month".equals(str)){
                return month;
            }else if("day".equals(str)){
                return day;
            }else if("hour".equals(str)){
                return hour;
            }else if("minute".equals(str)){
                return minute;
            }else if("second".equals(str)){
                return second;
            }
            
            return -1;
        }
        
        /**
         * 获取指定日期之前或者之后某月第一天
         * @param date 指定日期
         * @param month 指定日期之前几月(负数)或者之后几月(正数),当month=0时,则得到指定日期当月
         * @param format 指定之前几天(负数)或者之后几天(正数)
         * @return 返回字符串格式日期
         */
        public String getFirstDay(Date date,int month,String format){
            calendar=Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DAY_OF_MONTH,1);
            calendar.add(Calendar.MONTH, month);
            
            Date getDate=calendar.getTime();
            return date(getDate, format);
        }
        
        /**
         * 获取指定日期之前或者之后某月最后一天
         * @param date 指定日期
         * @param month 指定日期之前几月(负数)或者之后几月(正数),当month=0时,则得到指定日期当月
         * @param format 指定之前几天(负数)或者之后几天(正数)
         * @return 返回字符串格式日期
         */
        public String getLastDay(Date date,int month,String format){
            calendar=Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.MONTH, month+1);
            calendar.set(Calendar.DAY_OF_MONTH, 1);
            calendar.add(Calendar.DAY_OF_MONTH,-1);
            
            Date getDate=calendar.getTime();
            return date(getDate, format);
        }
        
        /**
         * 获取指定时间前或后几天日期
         * @param date 指定日期
         * @param day 指定日期之前几天(负数)或者之后几天(正数)
         * @param format 日期转换成字符串的格式,例如:"yyyy-MM-dd HH:mm:ss"
         * @return time 返回字符串格式日期
         */
        public String getBeforeOrAfterDate(Date date,int day,String format){
            calendar=Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.DAY_OF_MONTH, day);
            
            Date getDate=calendar.getTime();
            sdf=new SimpleDateFormat(format);
            String time=sdf.format(getDate);
            
            return time;
        }
        
        /**
         * 获取指定时间前或后几天日期
         * @param date 指定日期
         * @param day 指定之前几天(负数)或者之后几天(正数)
         * @return 返回date类型日期
         */
        public int getBeforeOrAfterDay(Date date,int day){
            calendar=Calendar.getInstance();
            calendar.setTime(date);
            
            return calendar.get(Calendar.DATE)+day;
        }
        
    }
  • 相关阅读:
    SHELL
    终端如何输出彩色字体
    BTree和B+Tree详解
    博客项目----小功能模块
    python的学习之旅---Mysql数据库
    Python的学习之旅———协程
    python的学习之旅---信号量 定时器
    python的学习之旅---回调机制
    Python的学习之旅———线程 事件
    centos安装redis
  • 原文地址:https://www.cnblogs.com/zxxbk/p/6265070.html
Copyright © 2020-2023  润新知