WEEK_OF_YEAR在JAVA和MYSQL中错误输入

时间:2016-07-08 08:07:54

标签: java mysql date calendar

我正在执行以下Java代码:

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
System.out.println(cal.get(Calendar.WEEK_OF_YEAR));
System.out.println(cal.getTime());

输出:

  

28

     

Fri Jul 08 08:56:04 BST 2016

以下是我在MYSQL中执行的命令:

select week(CURDATE()), CURDATE();

输出:

  

27 2016-07-08

如何同步一年中的一周值?我尝试了week(CURDATE(),0)仍然是相同的结果,但没有TimeZone也尝试过但得到相同的结果。

1 个答案:

答案 0 :(得分:2)

"一年中第一周的定义"是一个abitrary。您需要找出正在使用的MySQL定义是什么,并使Java与之匹配,或者找出默认的Java定义是什么,并使MySQL与之匹配。

在Java方面,它会受到Calendar#setFirstDayOfWeekCalendar#setMinimalDaysInFirstWeek的影响(可能是其他人,请查看Calendar文档)。

相关问题