如何查找两个时间之间的时间差异在c# [英] How to find time differences between two time in c#

查看:347
本文介绍了如何查找两个时间之间的时间差异在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆