这周比较忙没有尝试新东西,在多个项目中看到这样的警告:To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates. Issue: Using SimpleDateFormat directly without an explicit locale Id: SimpleDateFormat Almost all callers should use getDateInstance(),
简单来说就是建议使用getDateInstance()代替new;不敢在项目中乱来 ,忙里偷闲new了一个class进行体验,到底两种方式能不能达到相同的效果 ,首先说结果是不同的 ,如果getDateInstance()的效果能达到要求 就用getDateInstance()吧 ,如果能就new 自己设定样式这是代码
package servlet;
import java.text.SimpleDateFormat;
import java.util.Locale;
/**
* 试验:关于SimpleDateFormat.getDateInstance().format(System.currentTimeMillis());代替new 的方案
* s 2016-06-17 05:29
s1 2016-6-17
s2 2016-6-17 17:29:00
* @author Administrator
*
*/
public class TestDate {
public static void main(String args[]) {
Locale aLocale = Locale.getDefault();
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd hh:mm");
String date = s.format(System.currentTimeMillis());
System.out.println("s "+date);
String s1 = SimpleDateFormat.getDateInstance().format(System.currentTimeMillis());
String s2 = SimpleDateFormat.getDateTimeInstance().format(System.currentTimeMillis());
System.out.println("s1 "+s1);
System.out.println("s2 "+s2);
}
}
这是打印结果
s 2016-06-17 05:29
s1 2016-6-17
s2 2016-6-17 17:29:00