繁体   English   中英

Convert.ToDateTime:如何设置格式

[英]Convert.ToDateTime: how to set format

我使用转换像:

Convert.ToDateTime(value)

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

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

您应该使用DateTime.ParseExactDateTime.TryParseExact 它们允许您指定特定格式。 我个人更喜欢Try -versions,因为我认为它们可以为错误案例生成更好的代码。

如果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并在那里设置格式(或者如果您需要其他指导,请修改您的问题)。

这个怎么样:

    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字符串转换为当前的culture文化日期时间字符串

DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;

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

你也可以使用它。

 dtFromDate = Convert.ToDateTime(DateTime.ParseExact(fromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture)
                      .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM