java - WEEK_OF_MONTH 返回 0,而 linux 命令返回 1

标签 java linux date calendar debian

出于某种奇怪的原因.. Calendar.getInstance().get(Calendar.WEEK_OF_MONTH) 返回 0,而 Linux 中的命令返回 1

root@ns4009576:~# echo $((($(date +%d)-1)/7+1))

1

一开始我以为第一天可能是星期一,所以星期日(今天)是 0 月(?) 但情况似乎也并非如此,区域设置返回星期日作为第一天

root@ns4009576:~# locale day

Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday

如有任何帮助,我们将不胜感激,谢谢。

最佳答案

Java 可能不遵守与 date 命令相同的区域设置规则。比较两者可能不是一个好主意。

您将 0 作为该月的第几周,因为星期日未定义为一周的第一天。尝试将其添加到您的代码中以查看差异:

calendar.setFirstDayOfWeek(Calendar.SUNDAY);

关于java - WEEK_OF_MONTH 返回 0,而 linux 命令返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18561180/

相关文章:

Java/泛型/ClassCastException

java - 欧元符号 JNA 转换问题

java - Java日期getTime的算法

java - 在Android中计算两次之间的差异

python - 将 Google 表格日期序列值转换为人类可读的日期

java - 当列表为 null 或为空时,JPA createQuery 将列表作为参数传递

java - 替换java中arraylists的arraylist中的x,y

c - MinGw 交叉编译

java - openbsd:限制网络带宽

linux - 如何编辑 Linux 源代码?