C# Convert.ToDateTime:如何设置格式

C# Convert.ToDateTime:如何设置格式,c#,.net,datetime,C#,.net,Datetime,我使用convert,比如: Convert.ToDateTime(value) 但我需要将日期转换为“mm/yy”格式。 我在找这样的东西: var format = "mm/yy"; Convert.ToDateTime(value, format) 您可能应该使用或。它们允许您指定特定的格式。我个人更喜欢Try-版本,因为我认为它们可以为错误情况生成更好的代码。如果value是该格式的字符串,并且希望将其转换为DateTime对象,则可以使用静态方法: DateTime.ParseEx

我使用convert,比如:

Convert.ToDateTime(value)
但我需要将日期转换为“mm/yy”格式。
我在找这样的东西:

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

您可能应该使用或。它们允许您指定特定的格式。我个人更喜欢
Try
-版本,因为我认为它们可以为错误情况生成更好的代码。

如果
value
是该格式的
字符串,并且希望将其转换为
DateTime
对象,则可以使用静态方法:

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
转换为字符串的情况,这种情况会在表单、网页等上隐式显示值

查看日期时间的显示位置,并在那里设置格式(如果需要其他指导,也可以修改您的问题)。

这样如何:

    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”

希望有帮助


请阅读。

您可以使用Convert.ToDateTime。它显示在


DateTime
对象没有定义格式。您可以以一种格式输出数据时间,这就是您的意思吗?我尝试这样做:string value=“12/12”;format=“mm/yy”;然后datetime.paeseExact(值、格式、Cul..)=返回{01/01/2012 00:12:00}。为什么?所以
DateTime.ParseExact(值,“mm/yy”,CultureInfo.CurrentCulture)应该有效。我希望{01/12/12}或{12/12}datetime.paeseExact(“12/12”,“mm/yy”,Cul..)={01/01/2012 00:12:00};但我希望{01/12/12}或{12/12}@Refael您需要仔细阅读
mm
是分钟,
mm
是年。我想你的意思是
mm
是月
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;

var result = Convert.ToDateTime("12/01/2011", usDtfi)