无法更改日期时间的月份格式

本文关键字:格式 时间 日期 | 更新日期: 2023-09-27 18:09:05

我正在尝试将日期和时间字符串转换为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);

无法更改日期时间的月份格式

您需要:

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

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

ToString方法中的格式化字符串仅对DateTime对象有效。所以你可以写:

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"));

注意字符串

中使用单引号