日期时间解析的问题

来源:互联网 发布:如何在淘宝上注册网店 编辑:程序博客网 时间:2024/06/07 12:32

今天在做一个日期解析的时间工具的时候出现了问题

问题描述:

第一版本:new SimpleDateFormat("dd/mmm/yyyy:HH:mm:ss Z",Locale.ENGLISH)

此处mmm 和 mm字符重复了,直接就unparaseable了

下面是正确的版本

/**  * Created by Administrator on 2017/7/4.  * 日期时间解析工具  * 出现问题:时间格式上出现了,dd/mmm/yyyy:HH:mm:ss Z;这样是解析不了的,因为有mmm和mm  */object DateUtils {  /**    *   10/Nov/2016:00:01:02 +0800  ==>>   yyyy-mm--dd HH:MM:SS    */    //输入文件格式:10/Nov/2016:00:01:02 +0800  val YYYYMMDDHHMM_TIME_FORMAT = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z",Locale.ENGLISH)  //目标日期格式:yyyy-mm--dd HH:MM:SS  val TARGET_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS")  /**    * 获取输入日志时间:long类型    * time:[10/Nov/2016:00:01:02 +0800]    */  def getTime(time:String)  = {  try {      YYYYMMDDHHMM_TIME_FORMAT.parse(time.substring(time.indexOf("[") + 1,time.lastIndexOf("]"))).getTime    }catch{      case e:Exception =>{        0l      }    }  }  /**    *获取时间:yyyy-MM-dd HH:mm:ss    * @param time    */  def Parse(time:String) = {    TARGET_FORMAT.format(new Date(getTime(time)))  }  def main(args: Array[String]) = {    println(Parse("[10/Nov/2016:00:01:02 +0800]"))  }}

原创粉丝点击