我想更改日期格式
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函数......
请解释
答案 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。通过d
和dt
不带引号。