转换英国日期格式为美国
本文关键字:美国 格式 日期 英国 转换 | 更新日期: 2023-09-27 18:05:26
我有一个JQuery日期选择器,它将日期以DD/MM/YYYY格式放入文本框中。
我试图将此存储在SQL Server 2008中,需要接受日期为MM/DD/YYYY,我该如何格式化日期以使其正常工作?
这是将my参数添加到查询的代码,这会导致一个错误,因为日期和月份在
周围的方式是错误的。 TextBox fixtureDateTextBox = (TextBox)Master.FindControl("ContentPlaceHolderMenu").FindControl("datepicker");
SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", fixtureDateTextBox.Text);
永远不要,永远不要直接在参数中插入输入文本——这是造成太多安全漏洞和漏洞的根本原因。首先通过调用DateTimeOffset.Parse(...)
将输入解析为DateTimeOffset
对象(您也可以使用DateTime
,但通常使用Offset更好),然后您可以简单地将其作为参数添加而不修改它。
编辑2:您将希望使用允许传入IFormatProvider
实例的重载来解析DateTime
对象。请参阅http://msdn.microsoft.com/en-us/library/system.iformatprovider.aspx了解如何做您想做的事情的示例。否则,DateTime.Parse('13/3/2013')
将因无法识别格式而失败。
DateTime.Parse('13/3/2013', new CultureInfo("en-GB").DateTimeFormat)
是你想对输入框做的。
我同意其他人的看法,您应该能够配置JQuery选择器格式开始,但如果您不能,这个应该做这件事:
TextBox fixtureDateTextBox = (TextBox)Master.FindControl("ContentPlaceHolderMenu").FindControl("datepicker");
DateTime fixtureDate = DateTime.Parse(fixtureDateTextBox.Text, new CultureInfo("en-GB"));
SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", fixtureDate.ToString(new CultureInfo("en-US"));
试试这个:
TextBox fixtureDateTextBox = (TextBox)Master.FindControl("ContentPlaceHolderMenu").FindControl("datepicker");
DateTime date = DateTime.Parse(fixtureDateTextBox.Text);
SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", date);
添加名称空间部分:using System.Globalization;
然后按如下方式解析输入日期:
string DB_Date = (DateTime.Parse(fixtureDateTextBox.Text)).ToString(new CultureInfo("en-US"));
DateTime UKDate = Convert.ToDateTime(datepicker.Text);<br>
string usDate= UKDate.ToString("dd-MM-yyyy");<br>
SqlParameter fixtureDateParam = new SqlParameter("@fixtureDate", usDate);