【发布时间】:2014-03-31 22:49:17
【问题描述】:
我正在使用 ASP.NET 表单控件开发一个表单。表格字段之一是出生日期。日期格式为 dd/mm/yyyy。我需要做的实际上是在用户提交表单但在数据进入服务器之前将此表单字段转换为 mm/dd/yyyy,因为表单数据将要发送的系统强制美国日期格式(mm/dd/ yyyy) 我无法控制,因此 dd/mm/yyyy 中的所有日期格式都将被反转,因此它们将不正确。所以我需要事先实际切换它,所以它实际上反转回正确的格式。这是我为了切换值而写的。
string userDOB = Request.Form["txtDOB2"];
DateTime convertedDOB = Convert.ToDateTime(userDOB);
txtDOB2.Text = convertedDOB.ToString("MM/dd/yyyy");
注意:我正在检查以确保“出生日期”字段不为空或为空等,只是发布与我的问题相关的特定代码。
我正在通过提交按钮单击操作在代码中运行它。到目前为止,测试标签只是附加切换的日期格式值以确认其工作。但是我不确定如何切换表单值本身,以便它最终出现在实际发布的表单数据中。 Request.Form 是只读的,所以我不知道如何将修改日期分配给表单字段值。
另一个潜在问题是表单操作是针对外部源的,在表单运行的域之外。
【问题讨论】:
-
你可以使用 jquery datepicker jqueryui.com/datepicker。在这里您可以强制使用日期格式,使其不会更改为规定格式。
-
尝试使用 DateTime.ParseExact("28/08/2012", "dd/MM/yyyy", CultureInfo.InvariantCulture) .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) ;
-
查看此链接,它可能对您有所帮助。 Click here
-
this article 可能有助于检查日期
-
@Professor 我不想完全强制使用日期格式。我需要它对用户来说是 dd/mm/yyyy,但是我需要在服务器端调整它,因为表单数据要从服务器强制美国日期格式。