转换.ToDateTime:如何设置格式



我使用的转换方式是:

Convert.ToDateTime(value)

但是我需要将日期转换为"mm/yy"的格式。
我在找这样的东西:

var format = "mm/yy";
Convert.ToDateTime(value, format)

您可能应该使用DateTime.ParseExactDateTime.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"

希望有帮助!

最新更新