我想将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);
我得到以下结果:
第二种情况是错误的。
我错过了什么?
答案 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。