• 一个日期帮助类


    package com.fh.util;

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;

    public class DateUtil {
    private final static SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");

    private final static SimpleDateFormat sdfDay = new SimpleDateFormat(
    "yyyy-MM-dd");

    private final static SimpleDateFormat sdfDays = new SimpleDateFormat(
    "yyyyMMdd");

    private final static SimpleDateFormat sdfTime = new SimpleDateFormat(
    "yyyy-MM-dd HH:mm:ss");

    /**
    * 获取YYYY格式
    *
    * @return
    */
    public static String getYear() {
    return sdfYear.format(new Date());
    }

    /**
    * 获取YYYY-MM-DD格式
    *
    * @return
    */
    public static String getDay() {
    return sdfDay.format(new Date());
    }

    /**
    * 获取YYYYMMDD格式
    *
    * @return
    */
    public static String getDays(){
    return sdfDays.format(new Date());
    }

    /**
    * 获取YYYY-MM-DD HH:mm:ss格式
    *
    * @return
    */
    public static String getTime() {
    return sdfTime.format(new Date());
    }

    /**
    * @Title: compareDate
    * @Description: TODO(日期比较,如果s>=e 返回true 否则返回false)
    * @param s
    * @param e
    * @return boolean
    * @throws
    * @author luguosui
    */
    public static boolean compareDate(String s, String e) {
    if(fomatDate(s)==null||fomatDate(e)==null){
    return false;
    }
    return fomatDate(s).getTime() >=fomatDate(e).getTime();
    }

    /**
    * 格式化日期
    *
    * @return
    */
    public static Date fomatDate(String date) {
    DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
    try {
    return fmt.parse(date);
    } catch (ParseException e) {
    e.printStackTrace();
    return null;
    }
    }

    /**
    * 校验日期是否合法
    *
    * @return
    */
    public static boolean isValidDate(String s) {
    DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
    try {
    fmt.parse(s);
    return true;
    } catch (Exception e) {
    // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
    return false;
    }
    }
    public static int getDiffYear(String startTime,String endTime) {
    DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
    try {
    long aa=0;
    int years=(int) (((fmt.parse(endTime).getTime()-fmt.parse(startTime).getTime())/ (1000 * 60 * 60 * 24))/365);
    return years;
    } catch (Exception e) {
    // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
    return 0;
    }
    }
    /**
    * <li>功能描述:时间相减得到天数
    * @param beginDateStr
    * @param endDateStr
    * @return
    * long
    * @author Administrator
    */
    public static long getDaySub(String beginDateStr,String endDateStr){
    long day=0;
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Date beginDate = null;
    Date endDate = null;

    try {
    beginDate = format.parse(beginDateStr);
    endDate= format.parse(endDateStr);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);
    //System.out.println("相隔的天数="+day);

    return day;
    }

    /**
    * 得到n天之后的日期
    * @param days
    * @return
    */
    public static String getAfterDayDate(String days) {
    int daysInt = Integer.parseInt(days);

    Calendar canlendar = Calendar.getInstance(); // java.util包
    canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动
    Date date = canlendar.getTime();

    // SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateStr = sdfDay.format(date);

    return dateStr;
    }

    /**
    * 得到n天之后是周几
    * @param days
    * @return
    */
    public static String getAfterDayWeek(String days) {
    int daysInt = Integer.parseInt(days);

    Calendar canlendar = Calendar.getInstance(); // java.util包
    canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动
    Date date = canlendar.getTime();

    SimpleDateFormat sdf = new SimpleDateFormat("E");
    String dateStr = sdf.format(date);

    return dateStr;
    }


    //获取上月前一天日期
    public static String getLastMonthDate(){
    Calendar c = Calendar.getInstance();
    c.add(Calendar.MONTH, -1);
    c.add(Calendar.DATE,+1);
    return sdfDay.format(c.getTime());
    }

    public static void main(String[] args) {
    System.out.println(getLastMonthDate());
    // System.out.println(getAfterDayWeek("3"));
    }

    }
  • 相关阅读:
    阿里云 linux centos7安装tomcat
    定义全局的输入框获取焦点指令vfocus
    vue按enter键刷新页面 使用@submit.native.prevent阻止表单默认提交,添加在form标签上
    vue按键修饰符@keyup.enter.native
    阿里云 linux centos7中安装redis
    CRON表达式
    python定时执行nutch爬取任务
    Spring中设置bean作用域
    Cassandra 安装
    cassandra入门
  • 原文地址:https://www.cnblogs.com/caozengling/p/7690754.html
Copyright © 2020-2023  润新知