JAVA国际化输出日期格式
1、建议控制台程序
使用 IntelliJ IDEA 创建 MAVEN项目, 不选别的选项,则为控制台程序。 (其它方式创建的控制台程序可能编译不过)
2、源码如下:
1 import java.time.LocalDateTime; 2 import java.time.format.DateTimeFormatter; 3 import java.time.format.FormatStyle; 4 import java.util.Locale; 5 6 public class Main { 7 public static void main(String[] args) 8 { 9 System.out.println("Hello World"); 10 //Locale local = new Locale("zh","CN"); //Locale.CHINA 11 //Locale.setDefault(Locale.US); 12 Locale.setDefault(Locale.CHINA); 13 DateTimeFormatter df = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT); 14 LocalDateTime now = LocalDateTime.now(); 15 String date = df.format(now); 16 System.out.println(date); 17 } 18 }
3、上面使用了JAVA8的API, 需要在FILE菜单 Project Structure中,调整 Language level
4、 其它的一些发现:
1 //服务端请不要直接使用下面的代码,多线程环境下存在冲突问题 2 //美国日期时间格式化 3 Locale.setDefault(Locale.US); 4 SimpleDateFormat sdf = new SimpleDateFormat(); 5 System.out.println("美国时间: "+sdf.format(new Date())); 6 7 // 中国日期时间格式化 8 Locale.setDefault(Locale.CHINA); 9 sdf = new SimpleDateFormat(); 10 System.out.println("中国时间: "+sdf.format(new Date()));