DateTime.TryParseExact格式MM / dd / yyyy

时间:2014-05-14 10:05:37

标签: c# datetime

我正在尝试将日期时间格式转换为MM / dd / yyyy,但我得到的结果为“05/14/14”,我期待它是“05/14/2014”。

此代码有什么问题?

string input = Datetime.Now.ToString("MM/dd/yyyy");     
DateTime d;

if (DateTime.TryParseExact(input, "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out d))
{
  // use d
}

更新 当我改为“MM / dd / yyyy”时,我的电脑中的短日期设置为“MM / dd / yy”,它有效。 什么是解决方案,以便日期时间应该显示,无论电脑设置如何。

enter image description here

1 个答案:

答案 0 :(得分:2)

string input = Datetime.Now.ToString("MM/dd/yyyy");

应为DateTime

通过此更改,代码运行正常并提供所需的输出。无需更改PC中的日期格式。 也是为什么要做所有这些事情,而这可以通过一行代码来实现:

var shortDate = DateTime.Now.ToString("d");

无论您提到的PC日期格式如何,这都会将以下输出显示为“MM / dd / yyyy”。