格式化DateTime.Now到yyyy-mm-dd

时间:2016-08-08 07:45:25

标签: c# .net date datetime

我想将DateTime.Now转换为yyyy-mm-dd的格式,因为这是我在查询中可以使用的唯一格式,我希望包含该格式。
format的默认DateTime.Now看起来像5/1/2008 6:32:06 PM 如果我想将其格式更改为yyyyMMdd,我可以使用以下代码行:

var dateString1 = DateTime.Now.ToString("yyyyMMdd");

但是,当我尝试使用下面的yyyy-mm-dd格式时:

var dateString2 = DateTime.Now.ToString("yyyy-mm-dd");

我得到的结果是错误的。 对于以下代码行:

var dateString1 = DateTime.Now.ToString("yyyyMMdd");
var dateString2 = DateTime.Now.ToString("yyyy-mm-dd");

Console.WriteLine("yyyyMMdd " + dateString1);
Console.WriteLine("yyyy-mm-dd "+ dateString2);

我得到以下结果:

enter image description here

第二种情况是错误的。
我错过了什么?

3 个答案:

答案 0 :(得分:16)

根据msdn MM格式说明符代表月份和mm - 表示分钟。

  

“mm”|分钟,从00到59.

     

“MM”|这个月,从01到12。

因此,您的代码应如下所示:

    var dateString1 = DateTime.Now.ToString("yyyyMMdd");
    var dateString2 = DateTime.Now.ToString("yyyy-MM-dd");

    Console.WriteLine("yyyyMMdd " + dateString1);
    Console.WriteLine("yyyy-MM-dd "+ dateString2);

您将获得所需的结果

答案 1 :(得分:8)

    var dateString1 = DateTime.Now.ToString("yyyyMMdd");
    var dateString2 = DateTime.Now.ToString("yyyy-MM-dd");

    Console.WriteLine("yyyyMMdd " + dateString1);
    Console.WriteLine("yyyy-MM-dd "+ dateString2);

您在第二种格式中使用的是“mm”而不是“MM”。毫米是几分钟,MM是一个月。

答案 2 :(得分:2)

你的小姐是小写的" m"以第二种格式,确定MINUTES,但你需要" M"而不是" m"对于MONTHS。