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方法放到你定义的类里面去,方便使用

  • 相关阅读:
    MongoDB数据创建与使用
    python库安装方法及下载依赖库
    java开发基础知识学习
    wifi破解基础及工具的使用
    Markdonw基本语法学习
    toj 4353 Estimation(树状数组+二分查找)
    POJ 1694 An Old Stone Game【递归+排序】
    POJ 2092 Grandpa is Famous【水---找出现第二多的数】
    POJ 2993 Emag eht htiw Em Pleh【模拟画棋盘】
    POJ 1068 Parencodings【水模拟--数括号】
  • 原文地址:https://www.cnblogs.com/nxblog/p/4615500.html
Copyright © 2011-2022 走看看