public class FDateFormat {
public static final SimpleDateFormat NORMAL_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static final SimpleDateFormat NORMAL_FORMATA = new SimpleDateFormat("yyyy-MM-dd");
public static final SimpleDateFormat NORMAL_FORMATB = new SimpleDateFormat("yyyyMMdd");
public static final SimpleDateFormat YEAR_FORMAT = new SimpleDateFormat("yyyy");
public static final SimpleDateFormat MONTH_FORMAT = new SimpleDateFormat("MM");
public static final SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("dd");
public static final SimpleDateFormat HOUR_FORMAT = new SimpleDateFormat("HH");
public static final SimpleDateFormat MINUTE_FORMAT = new SimpleDateFormat("mm");
public static final SimpleDateFormat SECOND_FORMAT = new SimpleDateFormat("ss");
/***
* 功能:返回 yyyy-MM-dd HH:mm:ss 格式的日期
* @return
*/
public static String GetLongDate(){
String strRet="";
try{
SimpleDateFormat sf=NORMAL_FORMAT;
strRet=sf.format(new java.util.Date(System.currentTimeMillis()));
}catch(Exception e){
e.printStackTrace();
}
return strRet;
}
/***
* 功能:返回 yyyy-MM-dd 格式的日期
* @return
*/
public static String GetShortDate(){
String strRet="";
try{
SimpleDateFormat sf=NORMAL_FORMATA;
strRet=sf.format(new java.util.Date(System.currentTimeMillis()));
}catch(Exception e){
e.printStackTrace();
}
return strRet;
}
/***
* 返回yyyyMMdd 8位格式的年月日
* @param yearData(格式:yyyy-MM-dd)
* @return
*/
public static String GetDateString(){
String strRet="";
try{
SimpleDateFormat sf=NORMAL_FORMATB;
strRet=sf.format(new java.util.Date(System.currentTimeMillis()));
}catch(Exception e){
e.printStackTrace();
}
return strRet;
}
//返回当前日期的格式
public static String GetDateTime(SimpleDateFormat sformat)
{
SimpleDateFormat sf=null;
String strRet=null;
if(sformat==null)
{
sf=NORMAL_FORMAT;
}
else
{
sf=sformat;
}
try
{
strRet=sf.format(new java.util.Date(System.currentTimeMillis()));
}
catch(Exception e)
{
System.out.println("getCurrent time error="+e.getMessage());
}
return strRet;
}
/****
* 获取当前日期的后多少天
* @param days
* @return
*/
public static String GetDateAfterNow(int days){
Calendar curdate = Calendar.getInstance();
curdate.add(Calendar.DAY_OF_MONTH,days);//
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(curdate.getTime()).toString();
}
/***
* 计算传入日期多少天后的日期或多少天前的日期
* @param inputDate---格式:yyyy-MM-dd
* @param days--------天数差
* @return
*/
public static String GetDateByInputPara(String inputDate,int days){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date dateTemp=formatter.parse(inputDate, new ParsePosition(0));
Calendar curdate = Calendar.getInstance();
curdate.setTime(dateTemp);
//要加减的日期
curdate.add(Calendar.DATE, days);
return formatter.format(curdate.getTime()).toString();
}
/****
* 获取从今年开始的多少年
* @param years
* @return
*/
public static String getYearFromNow(int years){
Calendar curdate = Calendar.getInstance();
curdate.add(Calendar.YEAR,years);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(curdate.getTime()).toString();
}
/***
* 计算当前年份与传入年份的差
* @param yearData(格式:yyyy-MM-dd)
* @return
*/
public static int getYearDiffer(String yearData){
String yearString=yearData.substring(0, 4);
Calendar curdate = Calendar.getInstance();
int retDiff=curdate.get(Calendar.YEAR)-Integer.parseInt(yearString);
return retDiff;
}
/***
* 获取月天数
* @param yearData(格式:yyyy-MM)
* @return
*/
public static int getYearDiffer(String yearData){
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM");
rightNow.setTime(simpleDate.parse(yearData));//传入计算的年月份
int days=rightNow.getActualMaximum(Calendar.DAY_OF_MONTH);//获取传入月的天数
return days;
}
public static void main(String[] args){
System.out.println(getYearDiffer("1980-12-23"));
System.out.println(GetDateByInputPara("1980-12-23",-3));
}
}
01-28
09-09
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交