2

我想更改日期格式

CultureInfo ci = new CultureInfo("en-US");

Thread.CurrentThread.CurrentCulture = ci;

string fromdate =(TxtFrom.Text);

string todate = (TxtTo.Text);

DateTime dt =DateTime.Parse(fromdate);

DateTime d =DateTime.Parse(todate);

_DivAPath.FROM_DATE = Convert.ToDateTime("d",ci);

_DivAPath.TO_DATE = Convert.ToDateTime("d",ci);

但它会显示给定日期时间不是正确格式的异常。如何更改日期时间函数...

请解释

4

2 回答 2

2

首先,如果要使用给定的 解析或转换日期,则不需要实际更改文化CultureInfo,因此这是不必要的:

Thread.CurrentThread.CurrentCulture = ci;

您可以简单地使用DateTime.Parse接受文化的重载:

DateTime dt = DateTime.Parse(fromdate, ci); 

异常可能在Convert.ToDateTime("d",ci);因为d不是有效日期而引发;)

MaybeFROM_DATE是一个字符串属性,而您实际上想将日期时间转换为短日期字符串,那么您可以使用:

_DivAPath.FROM_DATE = dt.ToString("d", ci);

或者

_DivAPath.FROM_DATE = dt.ToShortDateString(); // uses the current-culture
于 2013-07-18T08:47:28.420 回答
0

您将字符串"d"作为值传递以转换为日期时间。通过d并且dt不带引号。

于 2013-07-18T08:50:22.140 回答