scala 处理各类时间格式汇总

日期处理格式备份:
object GetPostTime {

    val month = "[A-Z][a-zA-Z]{1,9}"
    val year = "\\d{4}"
    val twoNum = "\\d{1,2}"


    val pattern1 = s"($twoNum $month $year)".r //1 April 2018
    val pattern2 = s"(${twoNum} $month at $twoNum:$twoNum)".r //1 April at 00:04
    val pattern3 = s"($twoNum $month)".r //10 May
    val pattern4 = s"(${twoNum}月${twoNum}日 ${twoNum}:${twoNum})".r //2月27日 12:59
    val pattern5 = s"($month ${twoNum} *at ${twoNum}:${twoNum} [apAP][Mm])".r //June 28 at 12:26 AM
    val pattern6 = s"今天 (${twoNum}):(${twoNum})".r //今天 07:19
    val pattern7 = s"(昨天|Yesterday|Yesterday at) (${twoNum}):(${twoNum})".r //昨天 07:19
    val pattern8 = s"(${twoNum}) (分钟|mins|min)".r //8 分钟
    val pattern9 = s"(${twoNum}) (hrs|hr|小时|h)".r //8 hrs  8 hr 8 小时
    val pattern10 = "(刚刚|Just now)".r //刚刚
    val pattern11 = s"(\\d\\.\\d{3,10}E9)".r //刚刚
    val pattern12 = s"(${twoNum}) *月".r
    val pattern13 = s"(${twoNum} $month $year at ${twoNum}:${twoNum})".r
    val pattern14 = s"($month ${twoNum}, $year at ${twoNum}:${twoNum} [apAP][Mm])".r
    val pattern15 = s"($year-${twoNum}-${twoNum} ${twoNum}:${twoNum}:${twoNum})".r
    val pattern16 = s"(${year}年${twoNum}月${twoNum}日)".r
    //2014年2月8日
    val pattern17 = s"(${year}年${twoNum}月)".r
    //2014年3月
    val pattern18 = s"($month $twoNum, $year)".r
    //October 24, 2018
    val pattern19 = s"Yesterday at ($twoNum):($twoNum) ([apAP][Mm])".r
    //Yesterday at 11:24 AM
    //val pattern20 =s"Yesterday at ($twoNum):($twoNum)".r//Yesterday at 11:26
    val pattern20 = s"($month $year)".r //February 2015
    val pattern21 = s"(${twoNum}月${twoNum}日)".r //1月9日
    val pattern22 = s"(昨天|Yesterday)".r //昨天
    val pattern23 = s"($year)年*".r //2018/2018年
    val pattern24 = s"($month $twoNum)".r //April 10
    val pattern25 = s"($month)".r //April


    def getTime(env: String, inputPath: String, outputPath: String): Unit = {

        val ss = SCFactory.getSs(env, "ExtractPostTime")
        deleteDir(outputPath, env, ss.sparkContext)
        ss.read.json(s"${inputPath}/fb_timeline_store_data")
            .select("uptime", "public_timestamp", "public_date")
            .orderBy("public_date")
            .coalesce(1).write.option("header", "true")
            .csv(s"${outputPath}/postTime")
        ss.read.json(s"${inputPath}/fb_content_comment_data")
            .select("uptime", "comment_time").orderBy("comment_time"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值