已经废弃的Date().toLocaleString()在java8和java11中会有不同的输出。
在进行一个项目改造的时候,碰到了特别多的日期转义,为了方便直接使用了toLocaleString,最初很顺利,正常输出“yyyy-MM-dd HH:mm:ss”格式,后来换了一个路径,使用idea编辑器重新导入了一次代码,没有设置jdk,项目使用了idea2019.2.3自带的jdk11,运行时一直报错,发现了这个问题。
使用java8的时候,new Date().toLocalString()输出的结果是:
2020-4-3 16:50:51
使用java11的时候,输出结果是:
2020年4月3日 下午4:52:52
当然,输出结果跟jdk设置的时区也有关系,以上的结果都是基于Local.SIMPLIFIED_CHINESE
注意一下DateFormat的几个常用方法:
getDateInstance获取日期实例
getTimeInstance获取时间实例
getDateTimeInstance获取日期时间实例