这周比较忙没有尝试新东西,在多个项目中看到这样的警告: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:29s1 2016-6-17s2 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