經常看見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>"); %> |
|