Convert.ToDateTime:如何设置格式

问题描述 投票:0回答:6

我使用像这样的转换:

Convert.ToDateTime(value)

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

var format = "mm/yy";
Convert.ToDateTime(value, format)
c# .net datetime
6个回答
24
投票

您可能应该使用

DateTime.ParseExact
DateTime.TryParseExact
来代替。它们允许您指定特定的格式。我个人更喜欢
Try
版本,因为我认为它们为错误情况生成了更好的代码。


15
投票

如果

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

2
投票

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

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


1
投票

您可以使用 Convert.ToDateTime,如如何将日期时间字符串转换为当前区域性日期时间字符串

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

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

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”

希望有帮助!

请阅读此处


0
投票

Convert.ToDateTime 使用系统上当前的日期时间区域性,但是 有一个转折..

如果您在管理模式下运行 Visual Studio,它将利用 在管理员用户上设置日期时间文化。

更改 Windows 日期时间:

Goto adjust datetime settings

here change the region setting

© www.soinside.com 2019 - 2024. All rights reserved.