如何使用culture来更改日期时间格式

时间:2013-07-18 08:45:28

标签: asp.net

我想更改日期格式

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);

但它会显示异常,即给定的Datetime不是一个正确的format.how来改变datetime函数......

请解释

2 个答案:

答案 0 :(得分:2)

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

Thread.CurrentThread.CurrentCulture = ci;

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

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

由于Convert.ToDateTime("d",ci);不是有效日期,因此d可能会引发异常;)

也许FROM_DATE是一个字符串属性,你实际上想要将日期时间转换为短日期字符串,然后你可以使用:

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

_DivAPath.FROM_DATE = dt.ToShortDateString(); // uses the current-culture

答案 1 :(得分:0)

您正在传递字符串"d"作为值以转换为DateTime。通过ddt不带引号。