zoukankan      html  css  js  c++  java
  • Scala日期处理

    计算时间间隔 

    val d = new java.text.SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new java.util.Date())
    
        val dateFormat = new java.text.SimpleDateFormat("yyyyMMdd HH:mm:ss")
    
        // 系统时间
        val d1 = new java.util.Date()
        val nowDate: String = dateFormat.format(d1)
    
        // 输入指定时间
        val dd: Date = dateFormat.parse("20161229 14:20:50")
    
        // 时间差
        val d3 = new java.util.Date()
        val d4 = new java.util.Date()
        val diff = d4.getTime - d3.getTime  // 返回自此Date对象表示的1970年1月1日,00:00:00 GMT以来的毫秒数。
        val diffMinutes = diff / (1000 * 60)  // 时间间隔,单位:分钟
    

    产生日期序列

     import java.util.Calendar
        import java.util.Date
        import java.text.SimpleDateFormat
        import scala.collection.mutable.ListBuffer
    
        // 输入开始日期和结束日期
        val stringDateBegin: String = "20160101"
        val stringDateEnd: String = "20160209"
    
        val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")
        val dateBegin: Date = dateFormat.parse(stringDateBegin)
        val dateEnd: Date = dateFormat.parse(stringDateEnd)
    
        val calendarBegin: Calendar = Calendar.getInstance()
        val calendarEnd: Calendar = Calendar.getInstance()
    
        calendarBegin.setTime(dateBegin)
        calendarEnd.setTime(dateEnd)
    
        // 计算日期间隔天数
        val diff = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis()
        val diffDay = (diff / (1000 * 60 * 60 * 24)).toInt
        val calendarList = new ListBuffer[String]()
        for (d <- 0 to diffDay) {
          // 日期转化成"yyyyMMdd"
          calendarList.append(dateFormat.format(calendarBegin.getTime()))
          calendarBegin.add(Calendar.DAY_OF_MONTH, 1)
        }
    
        calendarList.mkString(",")
    

     执行结果

    // 输入开始日期和结束日期
    val stringDateBegin: String = "20160101"
    stringDateBegin: String = 20160101
    
    val stringDateEnd: String = "20160209"
    stringDateEnd: String = 20160209
    
    val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")
    dateFormat: java.text.SimpleDateFormat = java.text.SimpleDateFormat@ef87e460
    
    val dateBegin: Date = dateFormat.parse(stringDateBegin)
    dateBegin: java.util.Date = Fri Jan 01 00:00:00 UTC 2016
    
    val dateEnd: Date = dateFormat.parse(stringDateEnd)
    dateEnd: java.util.Date = Tue Feb 09 00:00:00 UTC 2016
    
    val calendarBegin: Calendar = Calendar.getInstance()
    calendarBegin: java.util.Calendar = java.util.GregorianCalendar[time=1480484154627,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Etc/Universal",offse
    t=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=10,WEEK_OF_YEAR=49,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=335,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=5,HOUR_OF_DAY=5,MINUTE=35,SECOND=54,MILLISECOND=627,ZONE_OFFSET=0,DST_OFFSET=0]
    
    val calendarEnd: Calendar = Calendar.getInstance()
    calendarEnd: java.util.Calendar = java.util.GregorianCalendar[time=1480484154845,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Etc/Universal",offset=
    0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=10,WEEK_OF_YEAR=49,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=335,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=5,HOUR_OF_DAY=5,MINUTE=35,SECOND=54,MILLISECOND=845,ZONE_OFFSET=0,DST_OFFSET=0]
    
    calendarBegin.setTime(dateBegin)
    calendarEnd.setTime(dateEnd)
    
    // 计算日期间隔天数
    val diff = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis()
    diff: Long = 3369600000
    
    val diffDay = (diff / (1000 * 60 * 60 * 24)).toInt
    diffDay: Int = 39
    
    val calendarList = new ListBuffer[String]()
    calendarList: scala.collection.mutable.ListBuffer[String] = ListBuffer()
    
    for (d <- 0 to diffDay) {
        // 日期转化成"yyyyMMdd"
        calendarList.append(dateFormat.format(calendarBegin.getTime()))
        calendarBegin.add(Calendar.DAY_OF_MONTH, 1)
              }
    
    calendarList.mkString(",")
    res12: String = 20160101,20160102,20160103,20160104,20160105,20160106,20160107,20160108,20160109,20160110,20160111,20160112,20160113,20160114,20160115,20160116,20160117,20160118,20160119,2016
    0120,20160121,20160122,20160123,20160124,20160125,20160126,20160127,20160128,20160129,20160130,20160131,20160201,20160202,20160203,20160204,20160205,20160206,20160207,20160208,20160209
    
  • 相关阅读:
    中国建设银行接口使用详细说明
    Web Service入门
    支付宝及时到帐接口使用详解深入版
    C#仿QQ皮肤-ComboBox 控件实现
    SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(2)
    GridView 使用方法总结 (二)
    小谈c#数据库存取图片的方式
    SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(1)
    GridView 使用方法总结 (一)
    C# UDP 入门
  • 原文地址:https://www.cnblogs.com/wwxbi/p/6116560.html
Copyright © 2011-2022 走看看