一、先看看如何取當前時間並顯示的代碼
------------------------------------------------<%
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();
}