DateTime.Now.ToString(“MM / DD / YYYY”)包含不正确的月份

所以我一直在将DateTime.Now.ToString("MM/DD/YYYY")到List(以及一堆其他数据),然后将这些列表写入Excel工作簿中的各个行。

这一切都很好(这是我经常做的事),除了月份。 我尝试过三次出口,每次我得到一个不同的月份; 第一次56 / 26-17,第二次2017年2月26日,第三次14/26/2017 ….

改为使用它:

 DateTime.Now.ToString("MM/dd/yyyy") 

“MM”一个月。 “dd”好几天了。 一年的“yyyy”。

“MM / DD / YYYY”格式错误:

 Console.WriteLine(DateTime.Now.ToString("MM/DD/YYYY")) // prints "06/DD/YYYY" 
 DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 

正如已经回答的那样,您需要以小写字母包含日期和年份的格式说明符,但作为附加内容,您还应指定文化变量以确保最终输出在日期部分之间包含“/”。 没有这个文化参数,“/”可以替换为代码运行的系统文化的日期分隔符,如“ – ”。