在 ASP.NET 中处理日期
-
13-09-2019 - |
题
如何处理用户输入的日期并将其存储在数据库的日期字段中?用户使用 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