20

我使用转换,如:

Convert.ToDateTime(value)

但我需要将日期转换为“mm/yy”等格式。
我正在寻找这样的东西:

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

5 回答 5

23

您可能应该使用其中一个DateTime.ParseExactDateTime.TryParseExact代替。它们允许您指定特定的格式。我个人更喜欢Try-versions,因为我认为它们会为错误情况生成更好的代码。

于 2013-03-04T14:15:17.517 回答
13

如果valuestring该格式的 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
于 2013-03-04T14:15:30.843 回答
2

DateTime没有格式。该格式仅在您将 aDateTime转换为字符串时适用,这会隐含地在表单、网页等上显示值。

查看您在哪里显示 DateTime 并在那里设置格式(或者如果您需要其他指导,请修改您的问题)。

于 2013-03-04T14:20:02.510 回答
1

您可以使用 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)
于 2016-06-29T01:08:34.987 回答
0

这个怎么样:

    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”

希望能帮助到你!

请阅读这里

于 2013-03-04T21:30:39.637 回答