C# 如何从当前日期时间中扣除时间/日期
我必须从当前日期时间中扣除一些日期时间。 有些是根据少数规则定义的 如果当前时间在晚上11:30至上午12:00之间,则扣除当天晚上11小时30分。 否则扣除前一天晚上11小时30分 让我们举个例子 如果当前时间为4月23日晚上11:45,则从当天起扣除至晚上11:30,得出15分钟的结果 如果当前时间为4月23日上午08:30,则从前一天(22日)扣除至晚上11:30,结果为540分钟 我试图使用DateTime.Today.AddDays(-1)扣除 但无法用c#编写精确的逻辑代码。 任何帮助。C# 如何从当前日期时间中扣除时间/日期,c#,datetime,C#,Datetime,我必须从当前日期时间中扣除一些日期时间。 有些是根据少数规则定义的 如果当前时间在晚上11:30至上午12:00之间,则扣除当天晚上11小时30分。 否则扣除前一天晚上11小时30分 让我们举个例子 如果当前时间为4月23日晚上11:45,则从当天起扣除至晚上11:30,得出15分钟的结果 如果当前时间为4月23日上午08:30,则从前一天(22日)扣除至晚上11:30,结果为540分钟 我试图使用DateTime.Today.AddDays(-1)扣除 但无法用c#编写精确的逻辑代码。 任何帮
提前感谢。您应该使用变量而不是DateTime.Today。
比如:
var newDate=SOMEDate.AddDays(-1)代码>您需要对此进行测试,可能需要稍加修改,但请尝试使用此
TimeSpan eTs = new TimeSpan(23, 30, 00);
double inMins;
if (DateTime.Now.TimeOfDay < eTs)
{
DateTime dTarget = DateTime.Now.AddDays(-1).Date + eTs;
TimeSpan ts = DateTime.Now.Subtract(dTarget);
inMins = ts.TotalMinutes;
}
else
{
DateTime dTarget = DateTime.Now.Date + eTs;
TimeSpan ts = DateTime.Now.Subtract(dTarget);
inMins = ts.TotalMinutes;
}
TimeSpan-eTs=新的时间跨度(23,30,00);
双英寸;
if(DateTime.Now.TimeOfDay
请提供一些您可以使用TimeSpan的代码示例或至少PSUEDOCODE。+一点简单的逻辑。@MajkeloDev你能帮我一下吗