c# - 调用 ToString ("YYYY-mm-dd") 导致错误的日期格式

标签 c# string-formatting

我有一个采用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 天前还运行良好。但是,我今天休息后回来,这是我看到的结果:

enter image description here

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

编辑

谢谢大家。搞砸的部分是查看以前版本的源代码管理,这很有效。或者也许我想象它有效。我不知道。但这种情况已经持续了大约 3 个月。

最佳答案

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

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

Custom Date and Time Format Strings

关于c# - 调用 ToString ("YYYY-mm-dd") 导致错误的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16106394/

相关文章:

objective-c - 帮助填充数字字符串

c# - Pallellelized DFS : Would task explosion break this program for large graphs?

c# - 以编程方式创建 iTunes Podcast RSS 提要

c# - 应用找不到位于另一个项目中的 Razor 页面

c - 修改rsp堆栈指针

python - 使用格式规范迷你语言截断和填充

c# - 获取特定的 StackFrame 而不是 StackTrace.GetFrame 是否更便宜?

c# - 如何序列化dll中的对象?

python - Python 中的字符串格式化 %i

vb.net - 为什么这种 boolean 字符串格式不起作用?