JSP獲取當前時間
一、先看看如何取當前時間並顯示的代碼
------------------------------------------------<% java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date currentTime = new java.util.Date();//得到當前系統時間 String str_date1 = formatter.format(currentTime); //將日期時間格式化 String str_date2 = currentTime.toString(); //將Date型日期時間轉換成字符串形式 %>
格式化成"yyyy-MM-dd HH:mm:ss"格式的日期時間:<%=str_date1%>
未經格式化的String格式的日期時間:<%=str_date2%>
未經格式化的Date格式的日期時間:<%=currentTime%>
-------------------------------------------------
頁面的輸出內容:
格式化成"yyyy-MM-dd HH:mm:ss"格式的日期時間:2005-03-17 09:55:40
未經格式化的String格式的日期時間:Thu Mar 17 09:55:40 CST 2005
未經格式化的Date格式的日期時間:Thu Mar 17 09:55:40 CST 2005
通常我們需要的是這種格式化后的時間:2005-03-17 09:55:40。現在有這樣一個問題:“2005-03-17 09:55:40”是一個字符串,有些時候我們需要在這個字符串里提取出年、月、日等的相關信息,怎么辦呢?看下面的代碼:
----------------------規則的字符串----------------------------------------------
規則的字符串(年4位,月2位,日2位,中間用字符“-”分隔):
原字符串為:
<% String date="1989-12-30"; out.println(date+" "); String year=date.substring(0,4);//取第0+1位至第4位 String month=date.substring(5,7);//取第5+1位至第7位 String day=date.substring(8,10);//取第8+1位至第10位 out.println("year="+year+",month="+month+",day="+day); %>
----------------------------------------------------------------------------------
從上面的代碼我們可以看出來:這只能針對規則的字符串(年4位,月2位,日2位),要是不規則的呢?年可能2位也可能4位,月和日可能1位也可能2位,怎么辦?通過對上面的代碼修改,可以得到下面的通用的代碼(這個“通用”有一個前提——年月日之間必須以“-”分隔):
----------------------不規則的字符串----------------------------------------------
不規則的字符串(年、月、日長度不一定,中間用字符“-”分隔):
原字符串為:
<% String date="04-05-6"; out.println(date+" "); int a=date.indexOf("-");//求第一個“-”的位數 int b=date.lastIndexOf("-");//求最后一個“-”的位數 int len=date.length();//求字符串的長度 year=date.substring(0,a);//取第一個“-”前的字符串 month=date.substring(a+1,b);//取兩個“-”之間的字符串 day=date.substring(b+1,len);//取最后一個“-”以后的字符串 out.println("year="+year+",month="+month+",day="+day); %>
二、jsp得到當前日期與時間
<% java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date currentTime = new java.util.Date();//得到當前系統時間 String str_date1 = formatter.format(currentTime); //將日期時間格式化 String str_date2 = currentTime.toString(); //將Date型日期時間轉換成字符串形式 %> <%=str_date1%> on(Rollover){ _root.stop(); }on(Rollout){ _root.play(); }