Java 其他人是否遇到过SimpleDataFormat.format方法返回错误年份的错误?
我使用的是Oracle java 1.7.045,SimpleDataFormat.format方法似乎返回2015年,而不是2014年 下面是单元测试:Java 其他人是否遇到过SimpleDataFormat.format方法返回错误年份的错误?,java,Java,我使用的是Oracle java 1.7.045,SimpleDataFormat.format方法似乎返回2015年,而不是2014年 下面是单元测试: import java.text.SimpleDateFormat; import java.util.Date; public class Test { private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("YYYYMMdd");
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("YYYYMMdd");
public static void main(String[] args) {
Date today = new Date();
System.out.println("OS: " + System.getProperty("os.name") + " " + System.getProperty("os.version"));
System.out.println("Java Vendor: " + System.getProperty("java.vendor"));
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("Today: " + today.toString() + " formatted: " + DATE_FORMAT.format(today));
}
}
下面是单元测试的输出:
操作系统:Mac OS X 10.10.1
Java供应商:Oracle公司
Java版本:1.7.0_45
今天:美国东部时间2014年12月29日星期一09:43:00格式:20151229
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
yyyy和yyyy是不同的,MM和MM也是不同的。使用的模式-
yyyyMMdd
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
public static void main(String[] args) {
Date today = new Date();
System.out.println("Java Vendor: " + System.getProperty("java.vendor"));
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("Today: " + today.toString() + " formatted: " + DATE_FORMAT.format(today));
}
}
输出
Java Vendor: Sun Microsystems Inc.
Java Version: 1.6.0_31
Today: Mon Dec 29 20:21:17 IST 2014 formatted: 20141229
使用
yyyyMMdd
代替YYYY
用于week Year
(),根据您的Locale
,它有时会在使用1月初日期时返回上一年的第53周,或在使用12月底日期时返回新年的第一周。日期模式是什么YYYYYY
,您是否首先阅读了SimpleDataFormat的文档?