如何检查当前工作日是否在给定的工作日范围之间?

Indrajeet Gour

如何实现逻辑来验证当前工作日 [星期六] 介于任何给定工作日范围 [星期日:星期五] 之间。

节目期待

输入:预计工作日范围

输出:当前工作日是否介于给定范围之间。

例子:

案例 1:考虑当前日期是 Sun 并且给定范围 Sun:Sat

根据我下面的实现逻辑将被接受。

案例 2:考虑当前日期是 Sun 并且给定范围 Mon:Sun

现在使用当前的解决方案 mon <= current_day(Sun) <= Sum,这是不完全满足的。

有没有人知道如何实施这个解决方案,我尝试在网上找到解决方案,但我发现没有任何价值。

我实现的逻辑:

// CURRENT DAY CALCULATION
Calendar currDate = Calendar.getInstance();
int currentDayInNo = currDate.get(Calendar.DAY_OF_WEEK);

// BIMAP FOR MAPPING OF DAYS NUMBER AND DAYS
static final ImmutableBiMap<String, Integer> DaysToNo =
           new ImmutableBiMap.Builder<String, Integer>()
               .put("Sun", 1)  
               .put("Mon", 2)  
               .put("Tue", 3)  
               .put("Wed", 4)  
               .put("Thu", 5)  
               .put("Fri", 6)  
               .put("Sat", 7)  
               .build();
if (currentDayInNo >= DaysToNo.get(scheduleStartDay) && currentDayInNo <= DaysToNo.get(scheduleEndDay)) {
        logger.info("First acceptance criteria meet: " + "Today's day : " + LocalDate.now().getDayOfWeek()+ " is come between " + scheduleStartDay + " and " + scheduleEndDay);
} else {
        logger.info("First acceptance criteria not meet: " + "Today's day : "+ LocalDate.now().getDayOfWeek() + "  is not come between " + scheduleStartDay + " and "+ scheduleEndDay);
}
阿文德

想了解更多关于您的预期输出应该是什么的详细信息,您是否只是检查这一天是否在几天之内,假设我们正在检查星期四是否在星期二和星期五之间,或者您想检查它是否在一个范围内每月的特定周。

我相信错误来自您尝试过的比较,这是它现在的工作原理,假设当天是星期日,整数为 1,并且您正在比较星期一的开始日期,整数为 2 直到星期日,即 1。您将按降序排列,

所以 if 在 && 的第一次评估中失败,其中 1 不是 >= 2 ;

因此,如果结束日值小于开始日值,您可以通过添加地图的大小来更改结束日值,因为逻辑上它表示新一周的开始,使值 8,那么您将有用地图的大小更改 currentDate 如果它的值小于开始日期的值,这将通过 && 评估。

    if (scheduleEndDay < scheduleStartDay) {
    scheduleEndDay += DaysToNo.size();
}

if (currentDayInNo <  scheduleStartDay) {
    currentDayInNo += DaysToNo.size();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取日历中的当前工作日

来自分类Dev

检查工作日是否在字符串中的工作日之间

来自分类Dev

PHP-获取当前工作日编号

来自分类Dev

显示当前工作日和日期

来自分类Dev

PHP当前工作日名称与日期

来自分类Dev

如何使用Chrono板条箱在Rust中获得当前工作日?

来自分类Dev

如何使用Chrono板条箱在Rust中获得当前工作日?

来自分类Dev

如何根据当前工作日对数据进行单元化

来自分类Dev

如何在给定日期的一周内获得工作日?

来自分类Dev

给定月份的工作日计数

来自分类Dev

NSArray与工作日

来自分类Dev

计算工作日

来自分类Dev

获取从周一到周日的当前工作日

来自分类Dev

SQL触发日期范围与工作日

来自分类Dev

工作日之间的周末 SQL

来自分类Dev

根据给定的月份开始工作日查找日期的工作日

来自分类Dev

工作日(日期)与当前日期(工作日)比较

来自分类Dev

Python:如何从CSV获取工作日?

来自分类Dev

如何对工作日的 NSArray 进行排序?

来自分类Dev

如何获取工作日的列表名称?

来自分类Dev

工作日功能添加工作日

来自分类Dev

为什么工作日以德语返回工作日?

来自分类Dev

SQLite strftime()工作日

来自分类Dev

工作日SQL查询

来自分类Dev

Excel工作日计算

来自分类Dev

DATEADD仅工作日

来自分类Dev

SQL工作日查询

来自分类Dev

Excel工作日生成

来自分类Dev

比较工作日NSDate