在asp.net中使用日期

时间:2009-08-11 20:09:16

标签: c# asp.net date-format datefield

如何处理用户输入的日期并将其存储在日期字段中的数据库中?用户使用文本字段中的jquery datepicker输入日期。

以下是我的具体需求:
1.如何将mm / dd / yy字符串(选择的jquery可以生成任何格式)转换为数据库中可存储的格式作为日期字段。
2.如何获取日期然后将其更改为“2009年8月11日星期三”?

我正在使用C#作为后端,但我也应该能够理解VB代码。

谢谢!

6 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

我同意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

答案 2 :(得分:1)

cDate(string)将为您提供字符串中的实际日期,而dateformat(string,option)将返回一个格式为选项状态的字符串 - longdateformat是我认为您正在寻找的选项之一。 / p>

答案 3 :(得分:1)

使用DateTime.Parse(string)将字符串解析为DateTime,然后可以将其保存为数据库中的DateTime。您可能希望按照其他答案中的建议使用TryParse,以确保提供的字符串可以解析为DateTime

要以特定格式返回DateTime,您可以在DateTime和supply a format上调用.ToString()或使用其中一种预定义格式,例如ToShortDateString()

答案 4 :(得分:1)

之前的答案会检查是否为日期(虽然我执行了try catch阻止 确认字符串为日期后,您只需将其传递给存储过程或将其放在单引号中,并使其成为插入/更新语句的一部分:

string yourdateString ="5-5-09";

update table set da='" + yourDateString + "' WHERE id=@id

答案 5 :(得分:1)

无论您使用哪种格式解析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");

您可以全局保留此格式并使用它