Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否在DataGridView中获取DateTime字符串的时间值?_C#_Datetime_Datagridview - Fatal编程技术网

C# 是否在DataGridView中获取DateTime字符串的时间值?

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列而不是整个日期中

我是C#的初学者。我有一个DataGridView,它显示:

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中显示日期值。好的!我已经更新了我的答案来解决你的问题!