我使用的转换方式是:
Convert.ToDateTime(value)
但是我需要将日期转换为"mm/yy"的格式。
我在找这样的东西:
var format = "mm/yy";
Convert.ToDateTime(value, format)
您可能应该使用DateTime.ParseExact
或DateTime.TryParseExact
代替。它们允许您指定特定的格式。我个人更喜欢Try
版本,因为我认为它们为错误情况产生更好的代码。
如果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
DateTime
没有格式。该格式仅适用于将DateTime
转换为字符串时,该字符串会隐式地在表单,网页等上显示该值。
查看在显示DateTime的地方,并在那里设置格式(或者如果你需要额外的指导,修改你的问题)。
可以使用Convert。如何将日期时间字符串转换为当前区域性日期时间字符串
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"
希望有帮助!