我正在使用Windows窗体中的项目,在这里我必须将日期从Excel文件传输到DataGridView。
我成功完成了,但Excel中的一个单元格是一种“时间”,并且有书写时间,例如"11:35:19 AM"
,"12:56:15 PM"
......
在DataGridView中,它只是复制值,但我需要知道它是哪个分钟或小时。使用此代码,我可以获得此单元格的价值:
dataGridView2.Rows[i].Cells[2].Value
但它给了我{12/30/1899 12:49:40 PM}
。这里时间是正确的,但它给了我额外的日期(12/30/1899
,这不是用Excel文件写的)。
那么如何从这个值中获得Minutes,Hours或Second?在DataGridView中,我必须添加一个新的Cell并在那里写下Hour。例如:
12:19:20 | 12
10:29:45 | 10
11:39:50 | 11
13:49:10 | 13
答案 0 :(得分:0)
只需将其存储在日期中,然后阅读所需的值:
Date d = New Date(dataGridView2.Rows[i].Cells[2].Value);
int min = d.Minute();
int hour = d.Hour();
dataGridView2.Rows[i].Cells[3].Value = hour
来源:MSDN - https://msdn.microsoft.com/en-us/library/system.datetime.aspx
答案 1 :(得分:0)
DateTime dt = DateTime.Parse(dataGridView2.Rows[i].Cells[2].Value);
dt.hours; // hours
dt.minutes; // minutes
dt.second; // seconds
答案 2 :(得分:0)
string time =((DateTime)dataGridView2.Rows [i] .Cells [2] .Value).ToString(“hh:mm tt”);
这是你的整个时间部分从日期时间开始提取的方式。