Scala获取当年最后一天、上月第一天、上月最后一天、上周第一天、上周最后一天等日期数据

Scala获取当年最后一天、上月第一天、上月最后一天、上周第一天、上周最后一天等日期数据

def main(args: Array[String]): Unit = {
    import java.text.SimpleDateFormat
    val sdf = new SimpleDateFormat("yyyy-MM-dd")
    //获取当年最后一天
    val  cal11 =Calendar.getInstance();//获取当前日期

    cal11.set(Calendar.MONTH, cal11.getActualMaximum(Calendar.MONTH))
    cal11.set(Calendar.DAY_OF_MONTH, cal11.getActualMaximum(Calendar.DAY_OF_MONTH))
    val currYearLast = sdf.format(cal11.getTime)
    println("===============currYearLast:"+currYearLast);

    //获取前一月第一天的日期
    val  cal_1=Calendar.getInstance();//获取当前日期
    cal_1.add(Calendar.MONTH, -1); //获取上个月的月份
    cal_1.set(Calendar.DAY_OF_MONTH,1);
    println()

    val firstDay = sdf.format(cal_1.getTime());  //即为上月第一天

    println(firstDay)
    //获取前一月最后一天的日期
    import java.util.Calendar
    val cal_2 = Calendar.getInstance
    cal_2.set(Calendar.DAY_OF_MONTH, 0) //
    val lastDay = sdf.format(cal_2.getTime)
    println(lastDay)

    //获取当前月第一天:
    val cal_3 = Calendar.getInstance();

    cal_3.add(Calendar.MONTH, 0); //获取本月的月份
    //获取本月的第一天的日期       更换参数获取当月相应的日期 若取5 则日期获取的为本月5号,即2021-12-05
    cal_3.set(Calendar.DAY_OF_MONTH,1);

    val first = sdf.format(cal_3.getTime());

    println("===============first:"+first);

    //获取当前月最后一天
    val cal_4 = Calendar.getInstance();

    cal_4.set(Calendar.DAY_OF_MONTH, cal_4.getActualMaximum(Calendar.DAY_OF_MONTH));

    val last = sdf.format(cal_4.getTime());
    println("===============last:"+last);

    //上周第一天
    val cal_5 = Calendar.getInstance();

    cal_5.add(Calendar.WEEK_OF_MONTH, -1);
    //获取上周的星期一    参数为1 表示的是上上周的周日(国外以周日为一周的第一天)
    cal_5.set(Calendar.DAY_OF_WEEK,2);

    val firstOfLastWeek = sdf.format(cal_5.getTime());
    println("===============firstOfLastWeek:"+firstOfLastWeek);
    //上周最后一天
    val cal_6 = Calendar.getInstance();

    cal_6.add(Calendar.WEEK_OF_MONTH, 0);
    //获取上周的星期一    参数为1 表示的是上上周的周日(国外以周日为一周的第一天)
    cal_6.set(Calendar.DAY_OF_WEEK,1);

    val lastOfLastWeek = sdf.format(cal_6.getTime());
    println("===============lastOfLastWeek:"+lastOfLastWeek);

    //获取昨日日期
    var cal: Calendar = Calendar.getInstance()
    var cal1: Calendar = Calendar.getInstance()
    var dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
    cal.add(Calendar.DATE, -1)
    cal1.add(Calendar.DATE, 0)
    var yesDate = dateFormat.format(cal.getTime())
    println("===============yesDate:"+yesDate);

    var curDate = dateFormat.format(cal1.getTime())
    var day = cal.get(Calendar.DAY_OF_MONTH)  //当前日期的前一天
    //获取年、月、日
    var month = 0
    var year = 0
    if (day == 0) {
      if (Calendar.MONTH == 0) {
        month = 12 //月为从0~11
        year = cal.get(Calendar.YEAR) - 1
      } else {
        month = cal.get(Calendar.MONTH)
      }
    } else {
      month = cal.get(Calendar.MONTH) + 1
    }
    year = cal.get(Calendar.YEAR
  }

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值