zoukankan      html  css  js  c++  java
  • 各种类型转为Date

    最近遇到个问题,就是Java的Excel导入时,对Excel中的日期做处理,常规模式用下面这种方法处理

    HSSFCell birthDateCell = row.getCell(col++);

    Date date = birthDateCell.getDateCellValue(); 

    今天推荐下面这种做法:

    首先定一个方法,做返回date类型,需要传object值类型

     public static Date getDate(Object o)
      {
        if (o == null)
          return null;
        if (o instanceof Date)
          return ((Date)o);
        if (o instanceof String)
          return getDate(String.valueOf(o));
        if (o instanceof Timestamp)
          return new Date(((Timestamp)o).getTime());
        if (o instanceof Date)
          return new Date(((Date)o).getTime());

        return null; 

      } 

    或者这样

     public static Date getDate(String dateStr)

      {
        Date temp1 = null;
        if (dateStr == null)
          return null;
        if (dateStr.equals(""))
          return null;
        SimpleDateFormat formatter = null;
        try {
          if (dateStr.indexOf(" ") != -1) {
            String[] aa = StringUtils.split(dateStr, ":");
            if (aa.length == 3)
              formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            else if (aa.length == 2)
              formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            else
              formatter = new SimpleDateFormat("yyyy-MM-dd HH");

          }
          else if (dateStr.indexOf("-") == -1) {
            formatter = new SimpleDateFormat("yyyyMMdd");
          } else {
            formatter = new SimpleDateFormat("yyyy-MM-dd");
          }

          temp1 = formatter.parse(dateStr);
        } catch (Exception e) {
          e.printStackTrace();
        }
        return temp1;
      }

    然后做Java的Excel导入时,就可以操作时间了

     HSSFCell registerTimeCell = row.getCell(col++);

     Date date = DateUtil.getDate(getCellValue(registerTimeCell));

    把上面的2个 getDate方法放到你定义的类里面去,方便使用

  • 相关阅读:
    优秀网站看前端 —— 小米Note介绍页面
    移动端手势库hammerJS 2.0.4官方文档翻译
    io.js入门(二)—— 所支持的ES6(上)
    发布两款JQ小插件(图片查看器 + 分类选择器),开源
    io.js入门(一)—— 初识io.js
    (翻译)《Hands-on Node.js》—— Why?
    前端神器avalonJS入门(三)
    (翻译)《Hands-on Node.js》—— Introduction
    Linux 安装 adb环境
    MyBatisPlus
  • 原文地址:https://www.cnblogs.com/nxblog/p/4615500.html
Copyright © 2011-2022 走看看