首页 > 解决方案 > 检查当前日期时间是否在特定百分比天之间 - 日期时间范围

问题描述

我有一个开始日期:01.01.2018 和 01.04.2018

如何检查当前日期(假设 20.02.2018)是否在开始日期和结束日期之间的 40%-60% 之间?

我想我必须将所有内容都转换为天数,并类似于:

结束日期 - 开始日期 = 90 天

90 天的 40% 是 36 天

90 天的 60% 是 54 天

今天的日期是:20.02.2018 => 今天 - StartDate = 50 天

50 天介于 36 到 54 之间,所以是的,我的日期 20.02.2018 在我的范围内过去的天数的 40% 到 60% 之间。

我的方法正确吗?

标签: c#datetime

解决方案


你可以这样做:

private double CalculatePercentageInRange(DateTime start, DateTime end, DateTime d)
{
    TimeSpan periodTimeSpan = end - start; // Get length between start & end
    TimeSpan timespanFromStart = d - start; // Get length between datetime to check and start
    return timespanFromStart.TotalMilliseconds / periodTimeSpan.TotalMilliseconds * 100;
}

推荐阅读