gpt4 book ai didi

java - 4-4-5 基于Java 8代码的日历方法

转载 作者:行者123 更新时间:2023-12-02 08:43:11 26 4
gpt4 key购买 nike

对于 Power BI 中的财务日历,我目前正在尝试实现 4-4-5 approach .

我们的日历适用于 4-4-5 周的季度。由于每年只有 364 天,所以几年后一定会有 53 周的一年。结果,12 月有 6 周,而不是 5 周。不幸的是,仍然没有基于 DAX 的方法。然而,在另一篇文章中,我发现了一个 JAVA 代码,它可能确定一年是否有 53 周: calculate number of weeks in a given year

    private static long getNumberOfWeeksInYear(LocalDate date) {
LocalDate middleOfYear = date.withDayOfMonth(1).withMonth(6);
return middleOfYear.range(WeekFields.ISO.weekOfWeekBasedYear()).getMaximum();
}

public static void main(String[] args) {
for (int year = 2000; year < 2400; year++) {
long numberOfWeeks = getNumberOfWeeksInYear(LocalDate.of(year, 1, 1));
if (numberOfWeeks != 52) {
System.out.println(year + " has " + numberOfWeeks + " weeks");
}
}
}

你们有人知道如何将代码翻译成 Dax 吗?

我们的财政日历并非基于公历。今年从 2019 年 12 月 30 日开始,到 21 年 1 月 3 日结束。今年有 53 周。

最佳答案

我无法为 PowerPivotDAX 提供帮助。但我可以告诉您如何使用Excel公式获取这些信息。

给定 A2 中的年份,您可以使用以下公式计算该年第一个 ISO 日历周的星期一:

=DATE($A2,1,1)-WEEKDAY(DATE($A2,1,1),3)+(ISOWEEKNUM(DATE($A2,1,1)-WEEKDAY(DATE($A2,1,1),3))<>1)*7

您可以使用以下公式计算当年最后一个 ISO 日历周的星期日:

=DATE($A2+1,1,1)-WEEKDAY(DATE($A2+1,1,1),3)+(ISOWEEKNUM(DATE($A2+1,1,1)-WEEKDAY(DATE($A2+1,1,1),3))<>1)*7-1

鉴于放置在 C2 中的最后一个 ISO 日历周的星期日,以下公式计算该年的 ISO 周数:

=ISOWEEKNUM($C2)

示例:

enter image description here

如您所见,年份是从 A2 向下的。计算第一个 ISO 日历周的星期一的公式位于 B2 下方。计算最后一个 ISO 日历周的星期日的公式在 C2 中向下。而当年 ISO 周数的计算公式是 D2 向下。

关于java - 4-4-5 基于Java 8代码的日历方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61247927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com