package com.gd.mvc.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
//一个简单的访问日期的工具类
public class GdDate {
/**
* 得到当前系统日期,格式:yyyy-MM-dd HH:mm:ss
* @return String
*/
public static String getCurrentDateAndTime(){
String currentDate="";
SimpleDateFormat format1=new SimpleDateFormat("yyyy'-'MM'-'dd HH:mm:ss");
format1.setLenient(false);
currentDate=format1.format(new Date());
return currentDate;
}
/**
* 得到当前系统日期,格式:yyyy-mm-dd
* @return String
*/
public static String getCurrentDate(){
String currentDate="";
SimpleDateFormat format1=new SimpleDateFormat("yyyy'-'MM'-'dd");
format1.setLenient(false);
currentDate=format1.format(new Date());
return currentDate;
}
/**
* 得到当前系统日期,格式:yyyymmdd
* @return
*/
public static String getCurDate(){
String currentDate="";
SimpleDateFormat format1=new SimpleDateFormat("yyyyMMdd");
format1.setLenient(false);
currentDate=format1.format(new Date());
return currentDate;
}
/**
* 得到当前时间(HH:mm)
* @return String
*/
public static synchronized String getCurTime(){
String pattern="HHmm";
return getDateFormat(getCalendar(),pattern);
}
/**
* 得到当前时间(HH:mm:ss)
* @return String
*/
public static synchronized String getCurrentTime(){
String pattern="HH:mm:ss";
return getDateFormat(getCalendar(),pattern);
}
/**
* 将日期格式化
* @param cal
* @return String
*/
public static synchronized String getDateFormat(java.util.Calendar cal){
String pattern="yyyy-MM-dd HH:mm:ss";
return getDateFormat(cal,pattern);
}
/**
* 将日期格式化
* @param date
* @return String
*/
public static synchronized String getDateFormat(java.util.Date date){
String pattern="yyyy-MM-dd HH:mm:ss";
return getDateFormat(date,pattern);
}
/**
* 将日期格式化
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarFormat(String strDate){
String pattern="yyyy-MM-dd HH:mm:ss";
return parseCalendarFormat(strDate,pattern);
}
/**
* 将日期格式化
* @param strDate
* @return Date
*/
public static synchronized Date parseDateFormat(String strDate){
String pattern="yyyy-MM-dd HH:mm:ss";
return parseDateFormat(strDate,pattern);
}
/**
* 将日期格式化
* @param cal
* @param pattern
* @return String
*/
public static synchronized String getDateFormat(java.util.Calendar cal,String pattern){
return getDateFormat(cal.getTime(),pattern);
}
/**
* 将日期格式化
* 得到当前时间(HHmm)
* @param pattern
* @return String
*/
public static synchronized String getCurrentTime(String pattern){
return getDateFormat(getCalendar(),pattern);
}
/**
* 将日期格式化
* @param date
* @param pattern
* @return String
*/
public static synchronized String getDateFormat(java.util.Date date,String pattern){
synchronized (sdf) {
String str=null;
sdf.applyPattern(pattern);
str=sdf.format(date);
return str;
}
}
/**
* 该方法将字符串格式化为标准日期格式
* @param time
* @return String
*/
public static String getFormateDate(String time){
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Date date;
String strDate="";
try{
date=df.parse(time);
df.applyPattern("yyyy-MM-dd");
strDate=df.format(date);
}catch(ParseException e){
}
return strDate;
}
/**
* 该方法得到与当天差任意天的格式化时间
* offset 表示与当天相差的天数 splitdate表示日期间的分隔符,
* splittime 表示时间间的分隔符
* @param int offset
* @param int splitdate
* @param int splittime
* @return String
*/
public static String getPriorDay(int offset,String splitdate,String splittime){
SimpleDateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
Calendar theday=Calendar.getInstance();
theday.add(Calendar.DATE, offset);
df.applyPattern("yyyy"+splitdate+"MM"+splitdate+"dd"+" "+"HH"+splittime+"mm"+splittime+"ss");
return df.format(theday.getTime());
}
/**
* 将日期格式化
* @param strDate
* @return Date
*/
public static synchronized Date parseDateDayFormat(String strDate){
String pattern="yyyy-MM-dd";
return parseDateFormat(strDate,pattern);
}
private static SimpleDateFormat sdf=new SimpleDateFormat();
/**
* 将日期格式化
* @param strDate
* @param pattern
* @return Date
*/
public static synchronized Date parseDateFormat(String strDate,String pattern){
synchronized(sdf){
Date date=null;
sdf.applyPattern(pattern);
try{
date=sdf.parse(strDate);
}catch(Exception e){
e.printStackTrace();
}
return date;
}
}
public static synchronized Calendar getCalendar(){
return GregorianCalendar.getInstance();
}
/**
* 将日期格式化
* @param strDate
* @param pattern
* @return Calendar
*/
public static synchronized Calendar parseCalendarFormat(String strDate,String pattern){
synchronized(sdf){
Calendar cal=null;
sdf.applyPattern(pattern);
try{
sdf.parse(strDate);
cal=sdf.getCalendar();
}catch(Exception e){
}
return cal;
}
}
}