我使用转换,如:Convert.ToDateTime:如何设置格式
Convert.ToDateTime(value)
,但我需要转换日期,如 “MM/YY” 格式化。
我正在寻找这样的事情:
var format = "mm/yy";
Convert.ToDateTime(value, format)
我使用转换,如:Convert.ToDateTime:如何设置格式
Convert.ToDateTime(value)
,但我需要转换日期,如 “MM/YY” 格式化。
我正在寻找这样的事情:
var format = "mm/yy";
Convert.ToDateTime(value, format)
你或许应该请使用DateTime.ParseExact
或DateTime.TryParseExact
代替。它们允许你指定特定的格式。我个人更喜欢Try
-versions,因为我认为它们为错误情况生成更好的代码。
如果value
是在格式string
并且希望将其转换成一个DateTime
对象,你可以使用DateTime.ParseExact
静态方法:
DateTime.ParseExact(value, format, CultureInfo.CurrentCulture);
例子:
string value = "12/12";
var myDate = DateTime.ParseExact(value, "MM/yy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
Console.WriteLine(myDate.ToShortDateString());
结果:
2012-12-01
我试试这个:string value =“12/12”; format =“mm/yy”;然后datetime.paeseExact(value,format,Cul ..)= return {01/01/2012 00:12:00}。为什么? – Refael 2013-03-04 14:28:47
因此'DateTime.ParseExact(value,“mm/yy”,CultureInfo.CurrentCulture);'应该可以工作。 – MarcinJuraszek 2013-03-04 14:29:36
我期待{01/12/12}或{12/12} – Refael 2013-03-04 14:35:17
DateTime
没有格式。格式只有当你把一个DateTime
成一个字符串,这恰好隐含您展示一种形式,网页上的价值,等等
看其中你显示日期时间,并设置格式适用那里(或者如果你需要额外的指导,请修改你的问题)。
如何:
string test = "01-12-12";
try{
DateTime dateTime = DateTime.Parse(test);
test = dateTime.ToString("dd/yyyy");
}
catch (FormatException exc)
{
MessageBox.Show(exc.Message);
}
当测试将等于 “12/2012”
希望它能帮助!请参阅HERE。
您可以使用Convert.ToDateTime是它显示在How to convert a Datetime string to a current culture datetime string
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
'DateTime'对象没有定义的格式。您可以以格式输出DataTime,那是什么意思? – 2013-03-04 14:15:30