转换英国日期格式为美国

本文关键字:美国 格式 日期 英国 转换 | 更新日期: 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);