18

我有一个接受DateTime对象的构造函数:

public Report(DateTime date, string start = "0", string end = "0")
{
    Logger.Info("Creating a new Report...");

    StartTime = start;
    EndTime = end;
    Date = date.ToString("YYYY-mm-dd");

    SetStartEndTimes();

    Logger.Info("Report Created");
}

现在,这在 3 天前还可以正常工作。但是,我今天休息后回来,这是我看到的结果:

在此处输入图像描述

如您所见,传入的日期是正确的。但是,格式化之后,就不是了。同样,这在我休息之前有效。我回来了,我明白了。我错过了什么吗?为什么从一开始工作后它的格式会如此不正确?

编辑

多谢你们。混乱的部分是查看以前版本的源代码控制,这很有效。或者,也许我想象它工作。我不知道。但这种情况已经持续了大约 3 个月。

4

2 回答 2

35

年份必须小写,月份必须大写:

Date = date.ToString("yyyy-MM-dd");  // btw, lowercase mm means minutes

自定义日期和时间格式字符串

于 2013-04-19T14:00:16.607 回答
9

这:

Date = date.ToString("YYYY-mm-dd");

应该是这样的:

Date = date.ToString("yyyy-MM-dd");

小写字母mm会给你分钟。

于 2013-04-19T13:59:31.317 回答