本周做数据迁移从Oracle导出的UNL文件(其实也就是CSV文件)导入到Mysql中,发现了一个很有意思的时间类型,然后需要从java转换。类型是26-AUG-23
。
经过度娘查询英文输出月份是用MMM
,也就是用new SimpleDateFormat("MMM")
代码转换,代码如下:
java public static void main(String[] args) {
// 创建一个日期对象
Date date = new Date();
// 使用SimpleDateFormat进行日期格式化,包含月份的英文缩写
SimpleDateFormat sdf = new SimpleDateFormat("MMM");
String monthAbbreviation = sdf.format(date).toUpperCase();
System.out.println("Month Abbreviation: " + monthAbbreviation);
}
看似没有问题,但是控制台输出,输出:Month Abbreviation: 十二月
,百思不得解。那就点进去源码看下。
可以看到方法中调用了构造器传了区域设置,而默认中获取的时系统本地的区域,所以点进Locale
会发现如图:
所以传入英文,改动代码如下:
javaSimpleDateFormat sdf = new SimpleDateFormat("MMM", Locale.ENGLISH);
ok,输出Month Abbreviation: DEC
。完美。
本文作者:酷少少
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!