当linux命令返回1时,WEEK_OF_MONTH返回0

时间:2013-09-01 17:48:03

标签: 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个月(?) 但情况似乎也不是这样,locale将星期日作为第一天返回

root@ns4009576:~# locale day
  

周日,周一,周二,周三,周四,周五,周六

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

calendar.setFirstDayOfWeek(Calendar.SUNDAY);