【发布时间】:2013-09-15 20:55:21
【问题描述】:
我正在研究 asp.net 中的考勤系统,我有两个标签和文本框:
- Textbox1 用于时间输入。
- 请假条目的文本框2。
两者都由用户输入,例如:进入时间是:(7:50 AM),离开时间是:(6:15 PM)。 现在我想计算输入条目的总小时数。 记住他/她有 30 分钟的休息时间。那么该怎么做呢?
【问题讨论】:
-
这取决于您使用的数据库引擎。
我正在研究 asp.net 中的考勤系统,我有两个标签和文本框:
两者都由用户输入,例如:进入时间是:(7:50 AM),离开时间是:(6:15 PM)。 现在我想计算输入条目的总小时数。 记住他/她有 30 分钟的休息时间。那么该怎么做呢?
【问题讨论】:
TextBox1.Text 转换为System.DateTime entry
TextBox2.Text 转换为System.DateTime leave
Timespan t = leave - entry - Timespan.FromMinutes(30)
t.TotalHours()
要将时间字符串转换为DateTime,请使用DateTime.ParseExact(Why can’t DateTime.ParseExact() parse the AM/PM in “4/4/2010 4:20:00 PM” using “M'/'d'/'yyyy H':'mm':'ss' 'tt”)
var ci = new CultureInfo("en-US");
DateTime entry = DateTime.ParseExact("7:50 AM", "h:mm tt", ci);
DateTime leave = DateTime.ParseExact("6:15 PM", "h:mm tt", ci);
TimeSpan t = leave - entry - TimeSpan.FromMinutes(30);
var totalTime = string.Format("{0:D2}h:{1:D2}m", t.Hours, t.Minutes);
【讨论】:
t.Hours()?
var totalTime = string.Format("{0:D2}h:{1:D2}m", t.Hours, t.Minutes); 来获取小时和分钟。