如何處理用戶輸入的日期並將其存儲在數據庫中的日期字段中?日期由用戶在文本字段中使用jquery日期選擇器輸入。在asp.net中使用日期
以下是我的具體需求:
1.如何將mm/dd/yy字符串(jquery採摘可以產生任何格式)轉換爲數據庫中作爲日期字段存儲的格式。
2.如何獲取日期,然後將其更改爲「2009年8月11日星期三」之類的內容?
我使用C#作爲後端,但我也應該能夠理解VB代碼。
謝謝!
如何處理用戶輸入的日期並將其存儲在數據庫中的日期字段中?日期由用戶在文本字段中使用jquery日期選擇器輸入。在asp.net中使用日期
以下是我的具體需求:
1.如何將mm/dd/yy字符串(jquery採摘可以產生任何格式)轉換爲數據庫中作爲日期字段存儲的格式。
2.如何獲取日期,然後將其更改爲「2009年8月11日星期三」之類的內容?
我使用C#作爲後端,但我也應該能夠理解VB代碼。
謝謝!
使用DateTime.Parse(string)
將字符串解析爲DateTime
,然後可以將該字符串作爲DateTime
保存在數據庫中。您可能希望按照其他解答中的建議使用TryParse,以確保提供的字符串可以解析爲DateTime
。
要以特定格式返回DateTime,可以在DateTime和supply a format上調用.ToString()或使用其中一種預定義格式,例如ToShortDateString()
string dateString = "08/11/09";
DateTime yourDate;
if(DateTime.TryParse(dateString, out yourDate))
{
// do something with yourDate
string output = yourDate.ToString("D"); // sets output to: Tuesday, August 11, 2009
}
else
{
// invalid date entered
}
這裏是DateTime
格式字符串列表:http://msdn.microsoft.com/en-us/library/az4se3k1.aspx
感謝您的例子!我慢慢明白,在看到拉斯的回答後,它回答了這兩個部分。 – stringo0 2009-08-11 22:40:38
CDATE(串)會給你一個字符串的實際日期,日期格式(字符串,可選)將返回格式化爲選項字符串狀態 - longdateformat是我認爲你正在尋找的選項之一。
以前的答案會檢查它是一個日期(儘管我做了try
catch
塊做) 一旦確認該字符串是日期,你可以把它傳遞給存儲過程或將其放在單引號中,並使其成爲插入/更新語句的一部分:
string yourdateString ="5-5-09";
update table set da='" + yourDateString + "' WHERE [email protected]
我同意John Rasch的解決方案。人們通常不知道的是,您也可以使用String.Format(...)
方法來格式化日期(和其他數據類型)。對於日期,使用T oString()
方法顯然更方便,因爲日期提供了這樣的功能,但其他數據類型可能會返回對象的地址ToString()
。
所以給你從數據庫中獲取你的約會或地方爲DateTime對象,你可以做到以下幾點:
DateTime date = DateTime.Now; //normally would come from somewhere else
//Wednesday, Aug 11, 2009 <-- what we want to get displayed
string displayFormat ="dddd, MMM dd, yyyy";
string formattedDate = string.Format("{0:" + displayFormat + "}", date);
Response.Write(formattedDate);
這正是你打印什麼要求。不同格式字符串的解釋可參見here。
感謝提示,它主要用於日期數據類型。 – stringo0 2009-08-11 22:43:06
無論哪種格式,你解析你的DateTime字段
DateTime dt = DateTime.Now;//*example
//FormatString for "Wednesday, Aug 11, 2009" is *dddd,MMM dd,yyyy*
string formattedString = dt.ToString("dddd,MMM dd,yyyy");
您可以全局持有這種格式,並用它
謝謝 - 這真的很快解釋我! – stringo0 2009-08-11 22:39:55