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;
- /**
- * 格式化日期
- *
- * @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;
- }
- }