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