java日期

Posted lev1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java日期相关的知识,希望对你有一定的参考价值。

package cn.zks.util;
 
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
/**
 * 日期的相关
 * @author: Mr.Lv
 *人是观念的载体!!!
 * @date: 2019年8月29日 上午10:23:06
 */
public class FormatDateUtil 
 
    public FormatDateUtil() 
    
 
    // 设置日期格式
    static public String formatDateTime() 
        // 获取当前时间
        Date date = new Date();
        // DateFormat format=new SimpleDateFormat("yyyy-MM-dd");
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    
 
    static public String formatDateTime2() 
        // 获取当前时间
        Date date = new Date();
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        // DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    
 
    // 设置日期格式,返回Date类型
    static public Date formatDate() throws ParseException 
        Date date = new Date();
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = format.format(date);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date2 = sdf.parse(time);
        return date2;
    
 
    // 将一个字符串(格式化)日期转化为Date日期
    static public String fomatDate(String dateTime) throws ParseException 
        SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd HH:mm:ss ");// 传入的字符串参数的格式一定要与此相同
        Date date = sdf.parse(dateTime);
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    
 
    // 将一个字符串(格式化)日期转化为Date日期
    static public String fomatDate31(String dateTime) throws ParseException 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 传入的字符串参数的格式一定要与此相同
        Date date = sdf.parse(dateTime);
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        return format.format(date);
    
 
    // 将一个字符串(格式化)日期转化为Date日期
    static public String fomatDate3(String dateTime) throws ParseException 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 传入的字符串参数的格式一定要与此相同
        Date date = sdf.parse(dateTime);
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    
 
    // 将一个字符串(格式化)日期转化为Date日期
    static public Date fomatDate2(String dateTime) throws ParseException 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 传入的字符串参数的格式一定要与此相同
        Date date = sdf.parse(dateTime);
        return date;
    
 
    // 将一个字符串(格式化)日期转化为Date日期
    static public Date fomatDate4(String dateTime) throws ParseException 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 传入的字符串参数的格式一定要与此相同
        Date date = sdf.parse(dateTime);
        return date;
    
 
    // 格式化日期为字符串 "yyyy-MM-dd hh:mm"
    static public String formatDateTime(Date basicDate, String strFormat) 
        SimpleDateFormat df = new SimpleDateFormat(strFormat);
        return df.format(basicDate);
    
 
    // 格式化日期为字符串 "yyyy-MM-dd hh:mm"
    static public String formatDateTime(String basicDate, String strFormat) 
        SimpleDateFormat df = new SimpleDateFormat(strFormat);
        Date tmpDate = null;
        try 
            tmpDate = df.parse(basicDate);
         catch (Exception e) 
            // 日期型字符串格式错误
        
        return df.format(tmpDate);
    
 
    // 当前日期加减n天后的日期,返回String (yyyy-mm-dd)
    static public String nDaysAftertoday(int n) 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Calendar rightNow = Calendar.getInstance();
        // rightNow.add(Calendar.DAY_OF_MONTH,-1);
        rightNow.add(Calendar.DAY_OF_MONTH, +n);
        return df.format(rightNow.getTime());
    
 
    // 当前日期加减n天后的日期,返回String (yyyy-mm-dd)
    static public Date nDaysAfterNowDate(int n) 
        Calendar rightNow = Calendar.getInstance();
        // rightNow.add(Calendar.DAY_OF_MONTH,-1);
        rightNow.add(Calendar.DAY_OF_MONTH, +n);
        return rightNow.getTime();
    
 
    // 给定一个日期型字符串,返回加减n天后的日期型字符串
    static public String nDaysAfterOneDateString(String basicDate, int n) 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date tmpDate = null;
        try 
            tmpDate = df.parse(basicDate);
         catch (Exception e) 
            // 日期型字符串格式错误
        
        long nDay = (tmpDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n) * (24 * 60 * 60 * 1000);
        tmpDate.setTime(nDay);
 
        return df.format(tmpDate);
    
 
    // 给定一个日期型字符串,返回加n小时后的日期型字符串
    static public String nHoursAfterOneDateString(String basicDate, int n) 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date tmpDate = null;
        try 
            tmpDate = df.parse(basicDate);
         catch (Exception e) 
            // 日期型字符串格式错误
        
        long nDay = (tmpDate.getTime() / (60 * 60 * 1000) + n) * (60 * 60 * 1000);
        tmpDate.setTime(nDay);
 
        return df.format(tmpDate);
    
 
    // 给定一个日期型字符串,返回减n小时后的日期型字符串
    static public String nHoursBeforeOneDateString(String basicDate, int n) 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date tmpDate = null;
        try 
            tmpDate = df.parse(basicDate);
         catch (Exception e) 
            // 日期型字符串格式错误
        
        long nDay = (tmpDate.getTime() / (60 * 60 * 1000) - n) * (60 * 60 * 1000);
        tmpDate.setTime(nDay);
 
        return df.format(tmpDate);
    
 
    // 给定一个日期,返回加减n天后的日期
    static public Date nDaysAfterOneDate(Date basicDate, int n) 
        long nDay = (basicDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n) * (24 * 60 * 60 * 1000);
        basicDate.setTime(nDay);
 
        return basicDate;
    
 
    // 计算两个日期相隔的天数
    static public int nDaysBetweenTwoDate(Date firstDate, Date secondDate) 
        int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));
        return nDay;
    
 
    // 计算两个日期相隔的天数
    static public int nDaysBetweenTwoDate(String firstString, String secondString) 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date firstDate = null;
        Date secondDate = null;
        try 
            firstDate = df.parse(firstString);
            secondDate = df.parse(secondString);
         catch (Exception e) 
            // 日期型字符串格式错误
        
 
        int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));
        return nDay;
    
 
    // 计算两个日期相隔的小时数数
    static public int nHoursBetweenTwoDate(String firstString, String secondString) 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date firstDate = null;
        Date secondDate = null;
        try 
            firstDate = df.parse(firstString);
            secondDate = df.parse(secondString);
         catch (Exception e) 
            // 日期型字符串格式错误
        
 
        int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (60 * 60 * 1000));
        return nDay;
    

 

package cn.zks.util; import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; /** * 格式化日期 *  * @Description: * @Source: JDK 1.8 * @Author: Zhao * @Since: 1.0 */public class FormatDateUtil  public FormatDateUtil()  // 设置日期格式static public String formatDateTime() // 获取当前时间Date date = new Date();// DateFormat format=new SimpleDateFormat("yyyy-MM-dd");DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return format.format(date); static public String formatDateTime2() // 获取当前时间Date date = new Date();DateFormat format = new SimpleDateFormat("yyyy-MM-dd");// DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return format.format(date); // 设置日期格式,返回Date类型static public Date formatDate() throws ParseException Date date = new Date();DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time = format.format(date);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date2 = sdf.parse(time);return date2; // 将一个字符串(格式化)日期转化为Date日期static public String fomatDate(String dateTime) throws ParseException SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd HH:mm:ss ");// 传入的字符串参数的格式一定要与此相同Date date = sdf.parse(dateTime);DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return format.format(date); // 将一个字符串(格式化)日期转化为Date日期static public String fomatDate31(String dateTime) throws ParseException SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 传入的字符串参数的格式一定要与此相同Date date = sdf.parse(dateTime);DateFormat format = new SimpleDateFormat("yyyy-MM-dd");return format.format(date); // 将一个字符串(格式化)日期转化为Date日期static public String fomatDate3(String dateTime) throws ParseException SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 传入的字符串参数的格式一定要与此相同Date date = sdf.parse(dateTime);DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return format.format(date); // 将一个字符串(格式化)日期转化为Date日期static public Date fomatDate2(String dateTime) throws ParseException SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 传入的字符串参数的格式一定要与此相同Date date = sdf.parse(dateTime);return date; // 将一个字符串(格式化)日期转化为Date日期static public Date fomatDate4(String dateTime) throws ParseException SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 传入的字符串参数的格式一定要与此相同Date date = sdf.parse(dateTime);return date; // 格式化日期为字符串 "yyyy-MM-dd hh:mm"static public String formatDateTime(Date basicDate, String strFormat) SimpleDateFormat df = new SimpleDateFormat(strFormat);return df.format(basicDate); // 格式化日期为字符串 "yyyy-MM-dd hh:mm"static public String formatDateTime(String basicDate, String strFormat) SimpleDateFormat df = new SimpleDateFormat(strFormat);Date tmpDate = null;try tmpDate = df.parse(basicDate); catch (Exception e) // 日期型字符串格式错误return df.format(tmpDate); // 当前日期加减n天后的日期,返回String (yyyy-mm-dd)static public String nDaysAftertoday(int n) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");Calendar rightNow = Calendar.getInstance();// rightNow.add(Calendar.DAY_OF_MONTH,-1);rightNow.add(Calendar.DAY_OF_MONTH, +n);return df.format(rightNow.getTime()); // 当前日期加减n天后的日期,返回String (yyyy-mm-dd)static public Date nDaysAfterNowDate(int n) Calendar rightNow = Calendar.getInstance();// rightNow.add(Calendar.DAY_OF_MONTH,-1);rightNow.add(Calendar.DAY_OF_MONTH, +n);return rightNow.getTime(); // 给定一个日期型字符串,返回加减n天后的日期型字符串static public String nDaysAfterOneDateString(String basicDate, int n) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");Date tmpDate = null;try tmpDate = df.parse(basicDate); catch (Exception e) // 日期型字符串格式错误long nDay = (tmpDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n) * (24 * 60 * 60 * 1000);tmpDate.setTime(nDay); return df.format(tmpDate); // 给定一个日期型字符串,返回加n小时后的日期型字符串static public String nHoursAfterOneDateString(String basicDate, int n) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date tmpDate = null;try tmpDate = df.parse(basicDate); catch (Exception e) // 日期型字符串格式错误long nDay = (tmpDate.getTime() / (60 * 60 * 1000) + n) * (60 * 60 * 1000);tmpDate.setTime(nDay); return df.format(tmpDate); // 给定一个日期型字符串,返回减n小时后的日期型字符串static public String nHoursBeforeOneDateString(String basicDate, int n) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date tmpDate = null;try tmpDate = df.parse(basicDate); catch (Exception e) // 日期型字符串格式错误long nDay = (tmpDate.getTime() / (60 * 60 * 1000) - n) * (60 * 60 * 1000);tmpDate.setTime(nDay); return df.format(tmpDate); // 给定一个日期,返回加减n天后的日期static public Date nDaysAfterOneDate(Date basicDate, int n) long nDay = (basicDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n) * (24 * 60 * 60 * 1000);basicDate.setTime(nDay); return basicDate; // 计算两个日期相隔的天数static public int nDaysBetweenTwoDate(Date firstDate, Date secondDate) int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));return nDay; // 计算两个日期相隔的天数static public int nDaysBetweenTwoDate(String firstString, String secondString) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");Date firstDate = null;Date secondDate = null;try firstDate = df.parse(firstString);secondDate = df.parse(secondString); catch (Exception e) // 日期型字符串格式错误 int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));return nDay; // 计算两个日期相隔的小时数数static public int nHoursBetweenTwoDate(String firstString, String secondString) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date firstDate = null;Date secondDate = null;try firstDate = df.parse(firstString);secondDate = df.parse(secondString); catch (Exception e) // 日期型字符串格式错误 int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (60 * 60 * 1000));return nDay; ———————————————— 版权声明:本文为CSDN博主「武汉一浪子」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_36869903/article/details/79923001

以上是关于java日期的主要内容,如果未能解决你的问题,请参考以下文章

用java实现日期类的加减

java中如何判断日期?

关于java中日期转化的问题

java中知道两个日期如何获得两个日期之间的天数

java 怎么获取指定日期n天后的日期

java判断日期是不是合法