c# - 检查当前日期时间是否在特定百分比天之间 - 日期时间范围
问题描述
我有一个开始日期: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% 之间。
我的方法正确吗?
解决方案
你可以这样做:
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;
}
推荐阅读
- java - sessionRegistry.getAllPrincipals() 始终为空
- visual-studio-code - 如何在 vs 代码上启用 Suitescript IntelliSense?
- javascript - 为什么当我创建函数的新实例时函数内部的代码会运行
- python - 应用操作以连接数据帧重新调整中的某些行无
- bootstrap-4 - 为什么 align-items-center 在 Bootstrap4 中不起作用?
- tensorflow - Transformer 培训如何实施教师强制?
- php - 如何在 Laravel 5.8 中使用 Eloquent 进行查询?
- sql - 在 Oracle SQL 表中转换和验证 XMLType 需要帮助
- node.js - selenium-webdriver [bazel-genfiles] 的电子 webpack 问题
- reactjs - React Routing 和 react-router-dom 中的问题