所以我一直在网上搜索2周,早上6点做一个变量作为一天的开始
TimeSpan start = new TimeSpan(06,30,00);
但问题是,它将时间翻译为一小时,因此当我做
时DateTime now = DateTime.Parse(DateTime.Today);
double span = (now - start);
我得到时间(下午3:00) - 6小时30分钟而不是时间(下午3:00) - 上午6:30所以我需要的是将时间和开始之间的差异加倍,以便答案将显示1.5小时而不是1小时30分钟,我还需要添加AM / PM吗?如果是这样我怎么能这样做并能够将它存储在sql数据库中?
答案 0 :(得分:0)
通过这种方法,很明显这意味着早晨
-std=c++11
答案 1 :(得分:0)
首先,早上6点钟是new TimeSpan(6, 0, 0)
,而new TimeSpan(6, 30, 0)
是06:30。目前尚不清楚代码或描述是否出错。
DateTime now = DateTime.Parse(DateTime.Today);
这不是有效的。 DateTime now = DateTime.Today;
是有效的,但它将是今天而不是现在,也就是说它将与今天开始时的午夜相同。您可能希望DateTime now = DateTime.Now
用于本地时间,或DateTime now = DateTime.UtcNow
用于UTC。
(现在 - 开始)
这将需要一段时间远离日期时间。例如。现在它是2017-01-20 10:03:01
,所以拿走6.5小时给我2017-01-20 03:33:24
。
要获得两个日期之间的跨度,我们需要两个日期时间:
DateTime now = DateTime.Now;
DateTime halfSixThisMorning = DateTime.Today + new TimeSpan(6, 30, 0);
TimeSpan span = now - halfSixThisMorning;
然后span.TotalHours
是double
,span
的小时数包括小数部分。