package com.qiu.tool;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTools {
private static final String YYYY_MM_DD="yyyy-MM-dd";
private static final String YYYY_MM_DD_HH="yyyy-MM-dd HH";
private static final String HH="HH";
private static final String HH_MM="HH:mm";
private static final String HH_MM_SS="HH:mm:ss";
private static final String HH_MM_SS_A="HH:mm:ss a";
private static final String YYYY_MM_DD_HH_MM="yyyy-MM-dd HH:mm";
private static final String YYYY_MM_DD_HH_MM_SS="yyyy-MM-dd HH:mm:ss";
private static final String YYYY_MM_DD_HH_MM_SS_A="yyyy-MM-dd HH:mm:ss a";
/**
* 获取当前时间
* @param pattern 格式:
* --yyyy-MM-dd;
* --yyyy-MM-dd HH;
* --HH;
* --HH:mm;
* --HH:mm:ss;
* --HH:mm:ss a;
* --yyyy-MM-dd HH:mm;
* --yyyy-MM-dd HH:mm:ss;
* --yyyy-MM-dd HH:mm:ss a
* @return 当前时间字符串
*/
public static String getNowTime(String pattern){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date date = new Date();
return sdf.format(date);
}
/**
* 获取当前时间(从Calendar类获取)
* @param pattern 格式:
* --yyyy-MM-dd;
* --yyyy-MM-dd HH;
* --HH;
* --HH:mm;
* --HH:mm:ss;
* --HH:mm:ss a;
* --yyyy-MM-dd HH:mm;
* --yyyy-MM-dd HH:mm:ss;
* --yyyy-MM-dd HH:mm:ss a;
* --yyyy年MM月dd HH时mm分ss秒;
* @return 当前时间字符串
*/
public static String getNowTimeFormCalendar(String pattern) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(calendar.getTime());
}
/**
* 获取当前时间(从Calendar类获取,统计年月日时分秒)
* @param pattern 格式:
* --yyyy-MM-dd;
* --yyyy-MM-dd HH;
* --HH;
* --HH:mm;
* --HH:mm:ss;
* --HH:mm:ss a;
* --yyyy-MM-dd HH:mm;
* --yyyy-MM-dd HH:mm:ss;
*
* @return 当前时间字符串
*/
public static String getNowTimeForamCalendarCount(String pattern){
Calendar cal=Calendar.getInstance();
StringBuilder sb=new StringBuilder("");
if(pattern.contains("yyyy")){
sb.append(cal.get(Calendar.YEAR));
sb.append("年");
}
if(pattern.contains("MM")){
sb.append(cal.get(Calendar.MONTH));
sb.append("月");
}
if(pattern.contains("dd")){
sb.append(cal.get(Calendar.DATE));
sb.append("日");
}
if(pattern.contains("HH")){
sb.append(cal.get(Calendar.HOUR_OF_DAY));
sb.append("时");
}
if(pattern.contains("mm")){
sb.append(cal.get(Calendar.MINUTE));
sb.append("分");
}
if(pattern.contains("ss")){
sb.append(cal.get(Calendar.SECOND));
sb.append("秒");
}
return sb.toString();
}
/**
* 得到几天后的时间
* @param number 天数
* @return 几天后的时间
*/
public static Date getDateDaysAfter(int number){
return getDateAround(+number,Calendar.DATE);
}
/**
* 得到几天前的时间
* @param number 天数
* @return 几天前的时间
*/
public static Date getDateDaysBefore(int number){
return getDateAround(-number,Calendar.DATE);
}
/**
* 得到几个月后的时间
* @param number 月数
* @return 几月后的时间
*/
public static Date getDateMonthAfter(int number){
return getDateAround(+number,Calendar.MONTH);
}
/**
* 得到几月前的时间
* @param number 月数
* @return 几月前的时间
*/
public static Date getDateMonthBefore(int number){
return getDateAround(-number,Calendar.MONTH);
}
/**
* 得到几年后的时间
* @param number 年数
* @return 几年后的时间
*/
public static Date getDateYearAfter(int number){
return getDateAround(+number,Calendar.YEAR);
}
/**
* 得到几年前的时间
* @param number 年数
* @return 几年前的时间
*/
public static Date getDateYearBefore(int number){
return getDateAround(-number,Calendar.YEAR);
}
/**
*
* @param number 正数为加,负数为减
* @param dateUnit 时间单温:
* --Calendar.YEAR 年;
* --Calendar.MONTH 月;
* --Calendar.DATE 日;
* --Calendar.HOUR 时;
* --Calendar.MINUTE 分;
*
* @return
*/
private static Date getDateAround(int number,int dateUnit){
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(dateUnit, number);
return calendar.getTime();
}
/**
* date转格式化的时间
* @param date date数据
* @param pattern 格式
* @return 格式化的时间字符串
*/
public static String dateToFormatString(Date date,String pattern){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
String format = sdf.format(date.getTime());
return format;
}
}
时间工具类,得到当前时间,date转string
最新推荐文章于 2023-05-29 14:03:02 发布