慕课网日志时间解析报错:
来源:9-6 数据清洗之第一步原始日志解析
人唯优2018
2017-09-17
Error:(32, 32) value parse is not a member of org.apache.commons.lang.time.FastDateFormat
YYYYMMDDHHMM_TIME_FORMAT.parse(time.substring(time.indexOf("[") + 1,
3回答
-
人唯优2018
提问者
2017-09-18
后面程序的代码放在哪里?
00 -
Michael_PK
2017-09-18
你直接用我的代码拷贝进来测试并对比下
012017-09-18 -
人唯优2018
提问者
2017-09-17
源码如下
package com.immoc.spark
import java.text.SimpleDateFormat
import java.util.{Date, Locale}
import org.apache.commons.lang.time.FastDateFormat
/**
* 日期时间解析工具类
*/
object DateUtils {
//输入文件日期时间格式
//[11/Nov/2016:00:00:05 +0800]
val YYYYMMDDHHMM_TIME_FORMAT = FastDateFormat.getInstance("dd/MMM/yyyy:HH:mm:ss Z",Locale.ENGLISH)
//目标日期格式
val TARGET_FORMAT = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss")
/**
*
* 获取时间: yyyy-MM-dd HH:mm:ss
*/
def parse(time:String) = {
TARGET_FORMAT.format(new Date(getTime(time)))
}
/**
* 获取输入日志的时间:long 类型
*/
def getTime(time:String) = {
try {
YYYYMMDDHHMM_TIME_FORMAT.parse(time.substring(time.indexOf("[") + 1,
time.lastIndexOf("]"))).getTime
} catch {
case e : Exception => {
0l
}
}
}
def main(args: Array[String]): Unit = {
println(parse("[11/Nov/2016:00:00:05 +0800]"))
}
}
012017-09-18
相似问题