C# 时钟上的时间与小时

C# 时钟上的时间与小时,c#,time,C#,Time,因此,我已经在网上搜索了两周,将早上6点作为一天开始的变量 TimeSpan start = new TimeSpan(06,30,00); 但问题是,当我这样做时,它将时间转换为一小时 DateTime now = DateTime.Parse(DateTime.Today); double span = (now - start); 我得到的是timenow(下午3:00)-6小时30分钟而不是timenow(下午3:00)-早上6:30,所以我需要得到timenow和以双精度开始的时间

因此,我已经在网上搜索了两周,将早上6点作为一天开始的变量

TimeSpan start = new TimeSpan(06,30,00);
但问题是,当我这样做时,它将时间转换为一小时

DateTime now = DateTime.Parse(DateTime.Today);
double span = (now - start);

我得到的是timenow(下午3:00)-6小时30分钟而不是timenow(下午3:00)-早上6:30,所以我需要得到timenow和以双精度开始的时间之间的差异,这样答案将显示1.5小时而不是1小时30分钟,我还需要添加AM/PM吗?如果是这样的话,我如何才能做到这一点并将其存储在sql数据库中?

使用这种方法,显然这意味着早上

var todayMorning = DateTime.Today.AddHours(6).AddMinutes(30);
var hoursTillNow = (DateTime.Now - todayMorning).TotalHours;
var minutesTillNow = (DateTime.Now - todayMorning).TotalMinutes;

var todayEvening = DateTime.Today.AddHours(18).AddMinutes(30);
//...

通过这种方法,很明显这意味着早晨

var todayMorning = DateTime.Today.AddHours(6).AddMinutes(30);
var hoursTillNow = (DateTime.Now - todayMorning).TotalHours;
var minutesTillNow = (DateTime.Now - todayMorning).TotalMinutes;

var todayEvening = DateTime.Today.AddHours(18).AddMinutes(30);
//...

早上6点是新的时间跨度(6,0,0),而新的时间跨度(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
的小时数包括小数部分。

好的,早上6点是
新时间跨度(6,0,0)
新时间跨度(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
中的小时数包括小数部分。

Time Now和start之间的差异以及显示分钟这听起来非常混乱,也许可以尝试改写问题的第二部分并包括一些示例?您是否希望“6:30am”显示为
6.50
6.30
例如?您是否试图这样做以转换时区?不,我计算timenow和start之间的总小时数timenow和start之间的差,并显示分钟数这听起来非常混乱,也许试着改写/格式化你问题的第二部分,并包括一些例子?例如,您是否希望“6:30am”显示为
6.50
6.30
?您是否试图这样做来转换时区?不,我计算timenow和start之间的总小时数