我使用转换,如:
Convert.ToDateTime(value)
但我需要将日期转换为“mm/yy”等格式。
我正在寻找这样的东西:
var format = "mm/yy";
Convert.ToDateTime(value, format)
您可能应该使用其中一个DateTime.ParseExact
或DateTime.TryParseExact
代替。它们允许您指定特定的格式。我个人更喜欢Try
-versions,因为我认为它们会为错误情况生成更好的代码。
如果value
是string
该格式的 a 并且您想将其转换为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
DateTime
没有格式。该格式仅在您将 aDateTime
转换为字符串时适用,这会隐含地在表单、网页等上显示值。
查看您在哪里显示 DateTime 并在那里设置格式(或者如果您需要其他指导,请修改您的问题)。
您可以使用 Convert.ToDateTime 是否显示在How to convert a Datetime string to a currentculture datetime string
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
这个怎么样:
string test = "01-12-12";
try{
DateTime dateTime = DateTime.Parse(test);
test = dateTime.ToString("dd/yyyy");
}
catch (FormatException exc)
{
MessageBox.Show(exc.Message);
}
其中 test 将等于“12/2012”
希望能帮助到你!
请阅读这里。