我试图将日期和时间字符串转换为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);
答案 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"));
请注意在字符串
中使用单引号