我想知道如何在nrf 454日历中编写逻辑来计算MTD。通常MTD很简单,如果今天是03.09.2020,那么MTD:从01.09.2020到03.09.2020,所以它是从当月的第一天到今天的日期范围。
问题是NRF454日历似乎到处都是,我找不到任何可以用来创建这种逻辑的模式,而不是编写大量的if/case语句。
以下是nrf 454日历的示例:

我在技术上也相当有限,因为我不能真正使用任何库。我能用的是SQL和纯javascript。
因此,我正在寻找这些日历背后的逻辑,我可以复制这些日历,以便根据当天获得MTD日期范围,因此类似于以日期为参数并返回MTD的函数。我不想使用大量的if来硬编码它,除非有人已经在2018-2022年这样做了。
发布于 2021-01-13 07:22:48
规则其实很简单..下面是它们:
// 4周有28天// 5周有35天
// 1一个月有4周或5周// 454 445 544是3个月序列,一个季度总有35 + 28 + 28 = 91天//学期总有182天//一年总有364天
//因为年份有365天,所以每年还剩下1天或2天//平年1天,闰年2天。
//剩余天数达到7天的年份,需要额外增加一周(一年53周)
//闰年是可以被4和400整除但不能被100整除的年份。
//一个会计日历可以在任何公历日期开始。这样的日历中每周的第一天始终是第一个日期
如果您在每个边界之间循环计数器,对于时间单位、周、月、季度、学期年(根据递增数组放置月份),您只需执行If。一种是月份进步,另一种是闰年。
我自己正在做一个实现,我希望我能在一段时间内实现它
https://stackoverflow.com/questions/63718137
复制相似问题