繁体   English   中英

为什么计算机认为我以MM / dd / yyyy格式而不是dd / MM / yyyy输入日期

[英]Why computer thinks that I entered date in MM/dd/yyyy format instead of dd/MM/yyyy

我创建了一个简单的控制台应用程序,在其Main方法中具有以下代码行:

DateTime dt = DateTime.Parse("01/03/2014 00:01:05");
string d = dt.ToString("dd.MM.yyyy");
Console.WriteLine(d);

我没有提供任何错误处理或TryParse方法来简化此问题。

如您在上面的代码中看到的,我想将字符串转换为DateTime格式。 然后更改日期格式,然后打印输出。

上述程序的输出将是03.01.2014

现在,如果我将上述代码中的日期更改为25/02/2014 ,那么我将得到一个异常输入字符串格式不正确

我只是故意将日期输入dd / MM / yyyy。 所以,现在我的问题是:我应该如何告诉计算机我愿意以dd / MM / yyyy而不是MM / dd / yyyy输入日期?

如果您没有提供其他文化,请使用当前的文化。 显然,您当前的区域性日期格式首先是月份,然后是日期。

您可以将DateTime.ParseExactCultureInfo.InvariantCulture使用:

DateTime dt = DateTime.ParseExact("01/03/2014 00:01:05", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

现在dt.ToString("dd.MM.yyyy")

这可能是因为您的系统日期本地化必须设置为MM / dd / yyyy格式。 您可能在解析日期时尝试使用CultureInfo.InvariantCulture

尝试这样:

DateTime dt = DateTime.ParseExact("01/03/2014 00:01:05", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

还要检查DateTime.Parse

编辑:

在此处检查日期时间设置:

在此处输入图片说明

暂无
暂无

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

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