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

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

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

谢谢!

有帮助吗?

解决方案

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

要以某种格式返回 DateTime,您可以在 DateTime 上调用 .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

我同意约翰·拉什的解决方案。人们往往不知道的是,你还可以使用String.Format(...)方法来格式化日期(以及其他数据类型)。对于日期是使用ToString()方法显然更加方便,因为日期提供了这样的功能,但其他数据类型可能会返回您在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);

这正是将打印您所需的内容。不同的格式串的解释可以发现这里

CDATE(串)会给你一个字符串的实际日期,日期格式和(字符串,可选)将返回格式化为选择状态的字符串 - longdateformat是的,我认为你正在寻找一个选项

您解析您的日期时间字段的格式不管

DateTime dt = DateTime.Now;//*example
//FormatString for "Wednesday, Aug 11, 2009" is *dddd,MMM dd,yyyy*
string formattedString = dt.ToString("dddd,MMM dd,yyyy");

您可以在全球范围持此格式,并使用它

在前面的回答将检查以查看它是一个日期(虽然我一个try catch块做) 一旦你已经确定字串是一个日期,你可以把它传递给存储过程或把它放在单引号和使你插入/更新语句的一部分:

string yourdateString ="5-5-09";

update table set da='" + yourDateString + "' WHERE id=@id
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top