• 关于日期解析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)))
    

    }

    }
    `

    你若盛开,蝴蝶自来
  • 相关阅读:
    Microsoft .NET Framework 2.0实现发送邮件(Email)总结
    Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总
    抽象类
    WingIDE 单步调试 Uliweb Python 代码
    Android 4.0 SDK的离线方式安装
    .NET 3.5 中WCF客户端代理性能改进以及最佳实践
    在linux上部署Redmine
    认识jQuery mobile 框架,资源,书籍
    如何使用搜索技巧来成为一名高效的程序员
    Management Console 工具管理类软件通用开发框架(开放源码)
  • 原文地址:https://www.cnblogs.com/zy168/p/13561860.html
Copyright © 2020-2023  润新知