我在MySQL服務器中有一個名爲Caller_List的表。在這個表中,我有一個名爲call_date的日期列,其數據類型是Date。我創建了一個網頁,其中包含從1天到1天(存儲所有第1到31天)的SELECT框,月份的SELECT框(其中存儲從1月到12月的所有月份名稱),SELECT其中二零零零年至2012年各年的存儲位置。就像我也有to_day,TO_MONTH和TO_YEAR一個選擇框。Java日期格式
問題是,當我取回這些天,月,年使用的request.getParameter的Java Servlet()方法,它被提取爲字符串數據類型並存儲在一個名爲from_date和to_date的變量中,我將from_day,from_month和from_year連接在一起,並存儲在名爲from_date的變量中,並將to_day,to_month和to_year連接起來並存儲到to_date中, MySQL自從明白這種格式以後的格式是年月日。
我然後通過下面的查詢檢索這兩個FROM_DATE和兩個日期之間的數據:
select caller_name,call_date
from Caller_List
where call_date>='"+from_date+"' and call_date<='"+to_date+"'
我也嘗試下面的查詢,卻徒勞無功:
select caller_name,call_date
from Caller_List
where call_date between '"+from_date+"' and '"+to_date+"'
我也才知道,在執行查詢之前,我需要將from_date和to_date轉換爲日期格式。但我是java的新手,我不知道該怎麼做。另外我想要格式年月日的日期。我想顯示時間和日期,請幫助我!
使用PreparedStatement和傳遞日期爲java.sql.Date' –
的'實例在先進的日期選擇器的日子裏,任何具體原因的日期每個部分的一個選擇框? – Vikdor
繼@ a_horse_with_no_name的建議,使用SimpleDateFormat的解析您的日期字符串到日期的情況。還要注意,使用PreparedStatement不會很方便使用類型的Date值,它還可以避免當前代碼易受攻擊的SQL注入攻擊*。 – jtahlborn