C# 是否在DataGridView中获取DateTime字符串的时间值?
我是C#的初学者。我有一个DataGridView,它显示:C# 是否在DataGridView中获取DateTime字符串的时间值?,c#,datetime,datagridview,C#,Datetime,Datagridview,我是C#的初学者。我有一个DataGridView,它显示: string Column4 = DateTime.Today.AddDays(1).AddHours(7).ToString(); 然后,如何在以后以字符串形式检索时间值(即07:00:00) 编辑:日期应为当前格式,并在DataGridView中保持该格式,但例如,当我这样做时: string newString = Column4; Console.WriteLine(newString); 如何从第4列而不是整个日期中
string Column4 = DateTime.Today.AddDays(1).AddHours(7).ToString();
然后,如何在以后以字符串形式检索时间值(即07:00:00)
编辑:日期应为当前格式,并在DataGridView中保持该格式,但例如,当我这样做时:
string newString = Column4;
Console.WriteLine(newString);
如何从第4列而不是整个日期中提取时间值
EDIT2:看到可能重复的问题并尝试:
DateTime newString = DateTime.Parse(Column4);
newString.ToString("HH:mm");
Console.WriteLine(newString);
但这仍然产生了:
2018年5月2日07:00:00如果只需要时间值,可以使用
TimeSpan
结构。此结构表示可以根据需要调整的时间间隔。您可以使用结构构造函数及其方法ToString()
来存储该时间的字符串表示形式
这是您可以使用的代码:
string Column4 = (new TimeSpan(7, 0, 0)).ToString();
如果以后需要使用相同的TimeSpan
值,建议将其存储在变量中:
TimeSpan time = new TimeSpan(7, 0, 0);
string Column4 = time.ToString();
请记住,如果要引用日期,可以使用DateTime
结构。否则,如果只需要时间,可以使用TimeSpan
结构
要将TimeSpan
结构转换为Datetime
结构,可以执行以下操作:
DateTime date = DateTime.Today + new TimeSpan(7, 0, 0)).ToString();
更新:如果您只需要DateTime
结构变量中的时间,可以将其格式化:
string newString = DateTime.Parse(Column4).ToString("t");
// Result: 7:00
或
string newString = DateTime.Parse(Column4).ToString("T");
// Result: 7:00:00
您可以在中看到更多字符串格式
在此Microsoft MSDN中,是一个关于如何使用所需时间实例化TimeSpan结构的示例:
通过调用其显式构造函数之一。以下示例将TimeSpan值初始化为指定的小时、分钟和秒数:
TimeSpan interval = newTimeSpan(2, 14, 18);
Console.WriteLine(interval.ToString()); // Displays "02:14:18".
您不需要“检索”任何内容,您可以设置显示格式。(例如,
HH:mm:ss
)您在哪里检索数据?你能分享你的代码吗?当你说“以后”时,你指的是它第一次显示时的值,还是你检索它时的值?另外,您不需要AddDays(0)
。如果您添加时间(比如凌晨3点,现在是上午10点),那么您怎么能期望它知道您在某个时候添加了7个小时?很抱歉,我确实需要在我的DataGridView中显示日期值。好的!我已经更新了我的答案来解决你的问题!