C# 无法更改DateTime的月份格式
我正在尝试将日期和时间字符串转换为DateTime变量,并将月份更改为两位数的月份,而不是一位数的月份 这是我目前的代码:C# 无法更改DateTime的月份格式,c#,datetime,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); Con
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);
你需要:
string dtm = dt.ToString("MM");
string dty = dt.ToString("yyyy");
您的原始代码试图将自定义日期时间格式应用于
dt.Month
,它只是一个int
,因此自定义日期格式字符串不适用于它。(这一年也是如此)。只有DateTime
对象才能使用ToString
方法中的格式字符串。所以你可以写:
string dtm = dt.ToString("MM");
string dty = dt.ToString("yyyy");
第二个选项是对带有前导零的int
对象简化Tostring
方法,如:
string dtm = dt.ToString("D2");
string dty = dt.ToString("D2");
如果您只想输出您在代码中编写的字符串,请尝试以下操作:
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"));
注意字符串中使用了单引号
非常感谢。我可以在10分钟后选择这个作为最佳答案。@SonerGönül,对不起,我错过了开头的括号。现在更新,请检查。谢谢你指出:)