时间与时间的关系

时间:2017-01-20 06:49:23

标签: c# time

所以我一直在网上搜索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数据库中?

2 个答案:

答案 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.TotalHoursdoublespan的小时数包括小数部分。