您的位置:首页 > 编程语言 > Java开发

java获取当前日期的前一天日期与字符串日期之间的转换

2014-01-09 17:05 375 查看
这几天一直在处理
Java
的日期问题,通常需要按要求生成日期的话,通常会用到
util
包中的
Calendar
类,再用Calendar的getTime()方法生成对应的Date,最后用SimpleDateFormat输出。


1.获取当期日期、年份、月份
import
java.util.Calendar;
publicclass
Main{
publicstaticvoid
main(String[]args){
Calendarnow=Calendar.getInstance();
System.out.println(
"CurrentYearis:"
+now.get(Calendar.YEAR));
//monthstartfrom0to11
System.out.println(
"CurrentMonthis:"
+(now.get(Calendar.MONTH)+
1
));
System.out.println(
"CurrentDateis:"
+now.get(Calendar.DATE));
}
}
2.获取前一天、前一个月的日期
Calendarcalendar=Calendar.getInstance();//
此时打印它获取的是系统当前时间
calendar.add(Calendar.DATE,-1);//
得到前一天

StringyestedayDate

=newSimpleDateFormat("yyyy-MM-dd").format(cal.getTime());

例:
publicstaticDategetNextDay(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH,-1);
date=calendar.getTime();
returndate;
}
再例:精确到时分秒privateTimestampgetPreviDay()throwsParseException{Calendarcalendar=Calendar.getInstance();calendar.setTime(newDate());calendar.add(Calendar.DAY_OF_MONTH,-1);Stringdate=newSimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());Dated=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss.SSS").parse(date+"23:59:59.000");Timestampta=newTimestamp(d.getTime());returnta;}
calendar.add(Calendar.MONTH,-1);//
得到前一个月
intyear=calendar.get(Calendar.YEAR);

intmonth=calendar.get(Calendar.MONTH)+1;//
输出前一月的时候要记得加
1
3.字符串转为日期格式
Stringdate="2010-02-0123:59:59";

SimpleDateFormatsf=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");

try
{

Dated=sf.parse(date);

System.out.println(sf.format(d));

}catch(ParseExceptione){

e.printStackTrace();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: