Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SimpleDateFormat将日期更改为一年_Java_Date_Simpledateformat_Type Conversion - Fatal编程技术网

Java SimpleDateFormat将日期更改为一年

Java SimpleDateFormat将日期更改为一年,java,date,simpledateformat,type-conversion,Java,Date,Simpledateformat,Type Conversion,我得到了非常奇怪的结果,我不明白 public class Test { private static DateFormat df = new SimpleDateFormat("dd.MM.YYYY HH:mm"); public static void main(String[] args) { Date d = new Date(1356912000000L); System.out.println(d); System.out.println(df.f

我得到了非常奇怪的结果,我不明白

public class Test {

  private static DateFormat df = new SimpleDateFormat("dd.MM.YYYY HH:mm");

  public static void main(String[] args) {
    Date d = new Date(1356912000000L);
    System.out.println(d);
    System.out.println(df.format(d));
  }  
}
给出输出:

Mon Dec 31 01:00:00 CET 2012
31.12.2013 01:00
我认为这可能是一些地区的问题,但这是一个整整一年的转变!有人能解释一下它为什么会这样做吗?

而不是:

“dd.MM.YYYY HH:MM”

使用:


“dd.MM.yyyy HH:MM”
yyy
是周年,而不是日历年。您想要的是
yyyy
。以下是Java的相关详细信息:

“年中的周”字段的计算值范围为1到53。这个 日历年的第一周是最早的七天周期 从getFirstDayOfWeek()开始,至少包含 getMinimalDaysInFirstWeek()从该年开始的天数。因此,这取决于 getMinimalDaysInFirstWeek()、getFirstDayOfWeek()和 一月一日一周中的一天。一年中的第1周和 次年第1周(不含)按顺序编号 从2岁到52岁或53岁(参与 朱利安-格雷戈里变换)

getFirstDayOfWeek()和getMinimalDaysInFirstWeek()值为 在构造时使用依赖于区域设置的资源初始化 格雷戈里安卡伦达。周测定符合ISO标准 8601当getFirstDayOfWeek()为星期一和 getMinimalDaysInFirstWeek()是4,这些值在区域设置中使用 如果首选标准。这些值可以通过以下方式显式设置: 调用setFirstDayOfWeek()和setMinimalDaysInFirstWeek()

一周一年与一周一年的周期同步。两周之间 第一周和最后一周(含)具有相同的周-年值。 因此,一年中一周的第一天和最后几天可能会有不同的结果 日历年值

例如,1998年1月1日是星期四。如果getFirstDayOfWeek()为 星期一和getMinimalDaysInFirstWeek()为4(ISO 8601标准 然后1998年第1周从1997年12月29日开始, 并于一九九八年一月四日结束。过去三年的一周是1998年 1997日历年的天数。但是,如果getFirstDayOfWeek()是 星期日,然后是1998年第1周,开始于1998年1月4日,结束于 一九九八年一月十日;;1998年的前三天是一周的一部分 1997年的第53周,他们的周年是1997年