如何查找两个时间之间的时间差异在c# [英] How to find time differences between two time in c#
问题描述
我有一个表格,给我所有的工作人员time_in和time_out小时。 Time_in和time_out也是sql表。基本上form返回数据库表的值。我想做的是显示他们的工作时间。工作时间可以得到从time_out到time_in的差异。我有两个文本框显示时间和Time_out。第三个应该显示工作时间。
I have a form that gives me time_in and time_out hours of all staff members. Time_in and time_out also sql tables. Basically form returns the database table values. What I would like to do is to display the work hour of them. Work hour can be get the differences from time_out to time_in. I have two text boxes that display time in and Time_out. The third one should display work hour.
这里是我对于星期三的time_out价值:
Here is what I have for time_out value for Wednesday:
//Selected TimeOutWednesday
SqlCommand TimeOutWednesdayMain = cs.CreateCommand();
TimeOutWednesdayMain.CommandText = "SELECT CONVERT(VARCHAR(8), time_out, 108) AS time_out FROM job_punch_card WHERE emp_key='" + listBoxNames.SelectedValue.ToString() + "'and punch_day= DATEADD(week, DATEDIFF(day, 0, getdate())/7, 2)";
Object TimeOutWednesdayMainTemp = TimeOutWednesdayMain.ExecuteScalar();
txtTimeInWed.Text = TimeOutWednesdayMainTemp.ToString();
此代码给我从列表框中选择的用户的星期三的time_out。我有同样的代码time_in以及。我不能做的是弄清楚如何找到工作时间?
This code gives me time_out for wednesday for the selected user from my listbox. I have the same code for time_in as well. What I couldn't do is to figure out how find the work hour? How can I display their work hour in a label or text box like I have above?
推荐答案
OS中的DateTime类型是simples整数值,你应该进行一个算术运算,得到小时或TotalHours:
小时获得差分的整数部分(不要失去分析你的文本框):
The DateTime types in OS are simples Integer values, you should make a arithmetical operation and get the Hours or TotalHours:
Hours get the integer portion of difference (dont lose parse your textboxes):
DateTime time_in;
DateTime.TryParse(time_in_TextBox.Text, out time_in);
DateTime time_out;
DateTime.TryParse(time_out_TextBox.Text, out time_out);
int hours = (time_in - time_out).Hours;
TotalHours得到一个双精度值与DateTimes的完全不同:
TotalHours get a double value with the exact difference in DateTimes:
DateTime time_in;
DateTime.TryParse(time_in_TextBox.Text, out time_in);
DateTime time_out;
DateTime.TryParse(time_out_TextBox.Text, out time_out);
double totalHours = (time_in - time_out).TotalHours;
这篇关于如何查找两个时间之间的时间差异在c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!