CST 日期转换

Java 0 738 0 2021-05-09 10:47:09

Object类型的的时间格式是CST,貌似是转为Object自动处理了。 再转回来时,时间相差14小时。 正确处理如下:

        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String questName = String.valueOf(mapColumnDatum.get("xxx"));
                    if (time.matches("[a-zA-Z]{3,4} [a-zA-Z]{3} \\d{2} \\d{2}:\\d{2}:\\d{2} [a-zA-Z]{2,5} \\d{4}")) {
                        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
                        //java.util.Date对象
                        Date date = sdf.parse(time);
                        String dataNumStr = format.format(date);
                        row.createCell(columnCell).setCellValue(dataNumStr);
                    } else {
                        row.createCell(columnCell).setCellValue(time);
                    }

判断Map里的value是否是CST格式日期,根据正则判断。 转为Date类型,再转为String类型。即不相差了。

尤其注意这行:

 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

感觉也可以正则提取了,哈哈。

主题切换

颜色:

主题: