package com.dingxin.entrance

 import java.text.SimpleDateFormat
import java.util.{Calendar, Date} /**
* Created by zhen on 2019/1/16.
*/
object SimpleDateFormatTest {
def main(args: Array[String]) {
val now: Date = new Date()
val cal = Calendar.getInstance()
val cbzq = "3"
val result = if(cbzq == "1"){ //当年1月至当年12月
val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-01-01")
val begin = dateFormat.format(now) cal.add(Calendar.YEAR,1)
val end = dateFormat.format(cal.getTime) begin.toString +"_"+end.toString
}else if(cbzq == "2"){ //上年12月至当年12月
val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-12-01")
val end = dateFormat.format(now) cal.add(Calendar.YEAR,-1)
val begin = dateFormat.format(cal.getTime) begin.toString +"_"+end.toString
}else if(cbzq == "3") {//上年11月至当年11月
val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-11-01")
val end = dateFormat.format(now) cal.add(Calendar.YEAR,-1)
val begin = dateFormat.format(cal.getTime) begin.toString +"_"+end.toString
}else{// 异常
""
}
println(result)
// 根据字符串时间求时间差(天)
val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
val begin = dateFormat.parse("2019-11-3").getTime
val end = dateFormat.parse("2019-12-27").getTime
println((end - begin) / (1000 * 60 * 60 * 24))
}
}
     // 计算当前年份的总天数
val nowCalendar = Calendar.getInstance()
val nowDateFormat : SimpleDateFormat = new SimpleDateFormat("yyyy-12-31")
val nowEnd = nowDateFormat.parse(nowDateFormat.format(nowCalendar.getTime)).getTime
nowCalendar.add(Calendar.YEAR, -1)
val nowBegin = nowDateFormat.parse(nowDateFormat.format(nowCalendar.getTime)).getTime println((nowEnd - nowBegin) / (1000 * 60 * 60 * 24))

结果1:

结果2:

Scala之Calendar,SimpleDateFormat简单用法的更多相关文章

  1. Java Calendar类简单用法

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3832307.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  2. day319 1、正则表达式的定义及使用 2、Date类的用法 3、Calendar类的用法

    1.正则表达式的定义及使用2.Date类的用法3.Calendar类的用法 一.正则表达式 ###01正则表达式的概念和作用* A: 正则表达式的概念和作用* a: 正则表达式的概述* 正则表达式也是 ...

  3. Calendar类经常用法 日期间的转换 set方法有巨坑

           今天发现项目的工具类方法有个bug,并且还能迷惑你的bug,刚開始也是非常迷惑,由于这个bug之前出现过,可是过了两天就自己好了.今天又出现了.哦对,今天是 2017年3月31日,之 ...

  4. java成神之——date和calendar日期的用法

    date和calendar日期的用法 util的data转换成sql的data 创建Date对象 格式化 Instant ChronoUnit LocalTime LocalDate LocalDat ...

  5. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  6. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  7. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  8. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  9. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

随机推荐

  1. NLog 自定义Target

    http://nlog-project.org/2015/06/30/extending-nlog-is-easy.html 新建一个类库,命名规则为NLog.*.dll 定义一个类输出日志到Rabb ...

  2. Android UI(一)Layout 背景局部Shape圆角设计

    Jeff Lee blog:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks ...

  3. 基于saltstack自动化部署高可用kubernetes集群

    SaltStack自动化部署HA-Kubernetes 本项目在GitHub上,会不定期更新,大家也可以提交ISSUE,地址为:https://github.com/skymyyang/salt-k8 ...

  4. Maven三种仓库的配置

    转自:https://www.cnblogs.com/jack1995/p/6925879.html Maven三种仓库的配置 1 本地仓库的配置 在第一篇中我们介绍过,Maven的仓库有三类,这里不 ...

  5. spring boot面试问题集锦

    译文作者:david  原文链接:https://www.javainuse.com/spring/SpringBootInterviewQuestions Q: 什么是spring boot? A: ...

  6. MySQL索引建立和使用的基本原则

    合理设计和使用索引 在关键字段的索引上,建与不建索引,查询速度相差近100倍.   差的索引和没有索引效果一样.   索引并非越多越好,因为维护索引需要成本.   每个表的索引应在5个以下,应合理利用 ...

  7. DNS域名解析之搭建公司内部域--技术流ken

    什么是DNS DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换 ...

  8. Redis主从复制、多实例、高可用(三)--技术流ken

    Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节 ...

  9. 工作中常用Windows快捷键整理(1)-快速关闭网页

    打开桌面 win+D,显示桌面快捷键,不会关闭浏览器页面,是显示桌面. 关闭当前打开的所有标签页 Alt+F4,关闭当前打开的所有浏览器标签页. 关闭当前打开的标签页 Ctrl+W,关闭当前打开的标签 ...

  10. C#中MessageBox.Show问题(让提示窗口不显示在任务栏中)

    在winform中让MessageBox.Show显示的窗口不显示在任务栏中:第一个参数很明显是你要显示的内容   类型是string 语法Visual Basic(声明) Public Shared ...