zoukankan      html  css  js  c++  java
  • 关于日期解析Scala语言

    `package main.scala.com.web.zhangyong168.cn.spark.date;

    import java.text.SimpleDateFormat;
    import java.util.Date;

    /**

    • @author 张勇

    • @version 0.0.1

    • @description 日期类型枚举

    • @date 2020年08月25日下午17:50:39
      */
      public enum DataFormat {
      YYYYMMDD("yyyyMMdd"),
      YYYYMMDDHHMM("yyyyMMddHHmm"),
      FULL_YMD("yyyy-MM-dd"),
      FULL_WITHOUTS("yyyy-MM-dd HH:ss"),
      FULL("yyyy-MM-dd HH:mm:ss"),
      ;

      //日起格式
      private final String format;

      /**

      • 构造函数
      • @param format 日期格式
        */
        DataFormat(String format) {
        this.format = format;
        }

      /**

      • 日期格式化
      • @param date 日期
      • @return 日期格式化成字符串
        */
        public String format(Date date) {
        return (new SimpleDateFormat(this.format)).format(date);
        }

      /**

      • 日期格式化
      • @param timestamp
      • @return 日期格式化成字符串
        */
        public String format(long timestamp) {
        return (new SimpleDateFormat(this.format)).format(timestamp);
        }

      /**

      • 日期格式解析
      • @param value 日期字符串
      • @param defaultVal 默认值
      • @return 解析日期
        */
        public Date parse(String value, Date defaultVal) {
        try {
        return (new SimpleDateFormat(this.format)).parse(value);
        } catch (Exception e) {
        return defaultVal;
        }
        }
        }
        `

    `package main.scala.com.web.zhangyong168.cn.spark.date

    import java.text.SimpleDateFormat
    import java.util.{Calendar, Date}

    /** *
    *

    • @description 日期工具类
    • @author 张勇
    • @version 0.0.1
    • @date 2020年08月25日下午17:23:39
      /
      object DateUtils {
      val cal: Calendar = Calendar.getInstance()
      val df: SimpleDateFormat = new SimpleDateFormat( "yyy-MM-dd HH:mm:ss" )
      /
      *
      • 获取本月的最后一天
      • @return
        */
        def getNowNonthEnd(): String = {
        cal.set( Calendar.DATE, 1 )
        cal.roll( Calendar.DATE, -1 )
        df.format( cal.getTime )
        }

    /**

    • 获取本月的第一天
    • @return
      */
      def getNowNonthStart(): String = {
      cal.set( Calendar.DATE, 1 )
      df.format( cal.getTime )
      }

    /**

    • 获取上个月的第一天
    • @return
      */
      def getLastNonthStart(): String = {
      cal.add(Calendar.MONTH, -1 ) //-1获取的是上个月 1代表下个月
      cal.set( Calendar.DAY_OF_MONTH, 1 ) //某个月的多少天
      df.format( cal.getTime )
      }

    /**

    • 获取上个月的最后一天
    • @return
      */
      def getLastNonthEnd(): String = {
      cal.set( Calendar.DATE, 0 )
      df.format( cal.getTime )
      }

    /**

    • 获取2个时间之间的天数之差
    • @param date1 日期1
    • @param date2 日期2
    • @return
      */
      def getMinDiff(date1:Date,date2:Date):Int={
      (Math.abs(
      DataFormat.FULL_WITHOUTS.parse(DataFormat.FULL_WITHOUTS.format(date1),null).getTime
      • DataFormat.FULL_WITHOUTS.parse(DataFormat.FULL_WITHOUTS.format(date2),null).getTime
        )/(1000*60)/1440).asInstanceOf[Int]
        }

    def main(args: Array[String]): Unit = {

    println(getMinDiff(DataFormat.FULL_YMD.parse("2020-08-24",null)
      ,DataFormat.FULL_YMD.parse("2020-08-25",null)))
    

    }

    }
    `

    你若盛开,蝴蝶自来
  • 相关阅读:
    J2ME学习笔记之问题看法
    单词王(kingWord)
    TCP的粘包和拆包问题及解决办法(C#)
    vuex里mapState,mapGetters使用详解
    agelform formcreate 使 elementui form 组件更简单
    elementui 二次封装系列 button
    开源一套后台管理系统框架,远离996 记录
    客户端架构介绍
    简单的Unity学习项目,封装了一下简单、通用功能组件,适用于数据可视化展示
    Vue关于对象数组的双向数据绑定(props与watch)
  • 原文地址:https://www.cnblogs.com/zy168/p/13561860.html
Copyright © 2011-2022 走看看