无法更改DateTime的月份格式

时间:2015-08-20 10:05:17

标签: c# datetime

我试图将日期和时间字符串转换为DateTime变量,也将月份更改为两位数而不是一位数。

这是我目前的代码:

string date = item; // 6/17/15 10:02:01 AM
DateTime dt = Convert.ToDateTime(item);
string dtm = dt.Month.ToString("MM");
string dty = dt.Year.ToString("yyyy");
Console.WriteLine(date);
Console.WriteLine("Year: {0}, Month: {1}, Day: {2}", dty, dtm, dt.Day);
Console.WriteLine(dt.TimeOfDay);

3 个答案:

答案 0 :(得分:1)

你需要:

string dtm = dt.ToString("MM");
string dty = dt.ToString("yyyy");

您的原始代码正在尝试将自定义日期时间格式应用于dt.Month,这只是int,因此自定义日期格式字符串不适用于它。 (今年同样如此)。

答案 1 :(得分:0)

ToString方法中的格式字符串仅适用于DateTime对象。所以你可以写:

string dtm = dt.ToString("MM");
string dty = dt.ToString("yyyy");

第二个选项是对Tostring个对象的简单int方法,其前导零如:

string dtm = dt.ToString("D2");
string dty = dt.ToString("D2");

答案 2 :(得分:0)

如果你要做的就是输出你在代码中写的字符串,试试这个:

string date = item; // 6/17/15 10:02:01 AM
DateTime dt = Convert.ToDateTime(item);
Console.WriteLine(dt.ToString("'Year: 'yyyy', Month: 'MM', Day: 'dd"));
  

请注意在字符串

中使用单引号