字符串转日期的几种格式

  /**
  * 将字符串转换成yyyy/MM/dd或yyyy/MM/dd HH:mm:ss的格式

  *
  * @param strDate
  * @return  10或19位日期格式的字符串
  */
 static String dateValue(String strDate) {
  StringBuffer dateValue = new StringBuffer();
  if (strDate.length() == 8) {
   dateValue.append(strDate.substring(0, 4)).append("/").append(
     strDate.substring(4, 6)).append("/").append(
     strDate.substring(6, 8));
  } else if (strDate.length() == 10 && strDate.indexOf("-") >= 0) {
   dateValue.append(strDate.replaceAll("-", "/"));
  } else if (strDate.length() >= 19 && strDate.indexOf("-") >= 0) {
   dateValue.append(strDate.substring(0, 19).replaceAll("-", "/"));
  } else {
   dateValue.append(strDate);
  }
  return dateValue.toString();
 }

 

 /**
  * 将字符串转换成日期
  * 
  * @param strDate 日期字符串
  * @return  14位的日期格式
  */
 private static String dateFormat(String strDate) {

  strDate = dateValue(strDate);
  DateFormat format14 = new SimpleDateFormat("yyyyMMddHHmmss");
  DateFormat format19 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
  DateFormat format10 = new SimpleDateFormat("yyyy/MM/dd");

  // 防止日期的进位计算
  format19.setLenient(false);
  format10.setLenient(false);

 

  Date date = null;
  try {
   if(strDate.length() != 14){
    if (strDate.length() == 10) {
     date = format10.parse(strDate);
    } else if (strDate.length() == 19) {
     date = format19.parse(strDate);
    }
    strDate = format14.format(date);    
   }
  } catch (ParseException e) {

   // 非正确的日期的场合

   return null;
  }
  return strDate;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值