zoukankan      html  css  js  c++  java
  • "Sun Dec 31 19:00:00 CST 1899"格式的字符串转Date

    背景问题:

    今天在做Excel动态列解析的时候,发现Excel中的日期解析出来居然是这种格式,emmm,这是个啥?

    并且发现,通过直接new Date的方式,然后通过SimpleDateFormat格式化后,时间变了?我TM啥东西

    通过不懈的百度终于得知了,这个时间是计算机的起始默认时间

    在Excel中为 19:00 的单元格,被解析完成后,变成了"Sun Dec 31 19:00:00 CST 1899"

    年月日直接变成了1899/12/31

    解决方案:

    那么这种格式的时间字符串如何正确的格式化为Date呢?

    百度后我封装成了一个工具类,拿出来分享

    解析工具类

    package utils;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    
    /**
     * 日期格式化工具类
     * @author ZYGisComputer
     */
    public class DateFormatUtil {
    
        public static Date parse(String str, String pattern, Locale locale) {
            if(str == null || pattern == null) {
                return null;
            }
            try {
                return new SimpleDateFormat(pattern, locale).parse(str);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public static String format(Date date, String pattern, Locale locale) {
            if(date == null || pattern == null) {
                return null;
            }
            return new SimpleDateFormat(pattern, locale).format(date);
        }
    
    }

    调用类

    String date = "Sun Dec 31 19:00:00 CST 1899";
    Date parse1 = DateFormatUtil.parse(date, "EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    String format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(parse1);
    System.out.println(format);

    执行结果

    1899/12/31 19:00:00

    到此日期解析完成!可以发现我们是需要指定时区的,但是我试过换成CHINA时区就会报错[捂脸]

    作者:彼岸舞

    时间:20201125

    内容关于:工作中用到的小技术

    本文属于作者原创,未经允许,禁止转发

  • 相关阅读:
    Pivot Table 实现详解(一)
    VSTS 离线源码版本辅助工具
    早上发现还是问题不断
    VSTS 离线源码版本辅助工具源码
    C#单元测试
    长沙招聘若干 ASP.NET 开发人员(长期有效)
    解析判定数据有效性表达式的存储过程 for SQLServer
    提高 SNAP 网页预览图的采集速度
    用了2年多快3年的老ASUS本子出了点小问题了
    模拟一下细胞的繁殖(CSDN号召帖)
  • 原文地址:https://www.cnblogs.com/flower-dance/p/14035895.html
Copyright © 2011-2022 走看看