? ? ? ?我們在論壇里經常可以看到有人問jsp時間的操作問題,也有很多人都不知道jsp是如何計算時間差的,在這里小編就為你們介紹在JSP下計算時間差的方法,感興趣的朋友們快來看看吧。
<%@?page?contentType="text/html;charset=gb2312"%>?
<%@?page?import="java.text.*"%>?
<%@?page?import="java.util.*"%>?
<%?
//字符串轉化成時間類型(字符串可以是任意類型,只要和SimpleDateFormat中的格式一致即可)?
java.text.SimpleDateFormat?sdf?=?new?java.text.SimpleDateFormat("M/dd/yyyy?hh:mm:ss?a",java.util.Locale.US);?
java.util.Date?d?=?sdf.parse("5/13/2003?10:31:37?AM");?
out.println(d);?
out.println("<br/>");?
SimpleDateFormat?formatter?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");?
String?mDateTime1=formatter.format(d);?
out.println(mDateTime1);?
out.println("<br/>");?
out.println(d.getTime());?
out.println("<br/>");?
//當前時間?
Calendar?cal?=?Calendar.getInstance();?
//?SimpleDateFormat?formatter?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");?
SimpleDateFormat?formatter?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss?G?E?D?F?w?W?a?E?F");?
String?mDateTime=formatter.format(cal.getTime());?
out.println(mDateTime);?
out.println("<br/>");?
//1年前日期?
java.util.Date?myDate=new?java.util.Date();?
long?myTime=(myDate.getTime()/1000)-60*60*24*365;?
myDate.setTime(myTime*1000);?
String?mDate=formatter.format(myDate);?
out.println(mDate);?
out.println("<br/>");?
//明天日期?
myDate=new?java.util.Date();?
myTime=(myDate.getTime()/1000)+60*60*24;?
myDate.setTime(myTime*1000);?
mDate=formatter.format(myDate);?
out.println(mDate);?
out.println("<br/>");?
//兩個時間之間的天數?
SimpleDateFormat?myFormatter?=?new?SimpleDateFormat("yyyy-MM-dd");?
java.util.Date?date=?myFormatter.parse("2003-05-1");?
java.util.Date?mydate=?myFormatter.parse("1899-12-30");?
long?day=(date.getTime()-mydate.getTime())/(24*60*60*1000);?
out.println(day);?
out.println("<br/>");?
//加半小時?
SimpleDateFormat?format?=?new?SimpleDateFormat("yyyy-MM-dd?hh:mm:ss");?
java.util.Date?date1?=?format.parse("2002-02-28?23:16:00");?
long?Time=(date1.getTime()/1000)+60*30;?
date1.setTime(Time*1000);?
String?mydate1=formatter.format(date1);?
out.println(mydate1);?
out.println("<br/>");?
//年月周求日期?
SimpleDateFormat?formatter2?=?new?SimpleDateFormat("yyyy-MM?F?E");?
java.util.Date?date2=?formatter2.parse("2003-05?5?星期五");?
SimpleDateFormat?formatter3?=?new?SimpleDateFormat("yyyy-MM-dd");?
String?mydate2=formatter3.format(date2);?
out.println(mydate2);?
out.println("<br/>");?
//求是星期幾?
mydate=?myFormatter.parse("2001-1-1");?
SimpleDateFormat?formatter4?=?new?SimpleDateFormat("E");?
String?mydate3=formatter4.format(mydate);?
out.println(mydate3);?
out.println("<br/>");?
%>?
===========================
另一種
import?java.text.DateFormat;
import?java.text.ParseException;
import?java.util.Date;
class?test
{
?public?static?void?main(String[]?args)?throws?ParseException
?{
??DateFormat?df=DateFormat.getDateInstance();
??String?str1="2002-3-4";
??String?str2="2002-7-12";
??long?l1=df.parse(str1).getTime();//把字符串轉化為時間
??long?l2=df.parse(str2).getTime();
??long?l3=0;//時間間隔
??if(l1>l2)//判斷時間先后
??{
???l3=l1-l2;
??}else
??{
???l3=l2-l1;
??}
??l3=l3/(60*60*24*1000);
??System.out.println(str1+"與"+str2+"相隔"+l3+"天!");??
?}
}?
? ? ? ?到這里,在JSP下計算時間差的方法就講完了。如果有什么不清楚可以留言給我。如果覺得我寫得不錯就請關注我們錯新技術頻道吧。
新聞熱點
疑難解答