Scala之Calendar,SimpleDateFormat简单用法
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简单用法的更多相关文章
- Java Calendar类简单用法
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3832307.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- day319 1、正则表达式的定义及使用 2、Date类的用法 3、Calendar类的用法
1.正则表达式的定义及使用2.Date类的用法3.Calendar类的用法 一.正则表达式 ###01正则表达式的概念和作用* A: 正则表达式的概念和作用* a: 正则表达式的概述* 正则表达式也是 ...
- Calendar类经常用法 日期间的转换 set方法有巨坑
今天发现项目的工具类方法有个bug,并且还能迷惑你的bug,刚開始也是非常迷惑,由于这个bug之前出现过,可是过了两天就自己好了.今天又出现了.哦对,今天是 2017年3月31日,之 ...
- java成神之——date和calendar日期的用法
date和calendar日期的用法 util的data转换成sql的data 创建Date对象 格式化 Instant ChronoUnit LocalTime LocalDate LocalDat ...
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
随机推荐
- IdentityServer(13)- 使用 JavaScript 客户端
本文使用的授权码模式,已更新至 .NET Core 2.2 本快速入门将展示如何构建基于浏览器的 JavaScript 客户端应用程序(SPA). 用户将登录 IdentityServer,使用 Id ...
- 剑指offer-学习笔记
前言:18/06/06开始学习,每个程序都会用C写一遍,因书中用C++举例,也会换种思路写,供学习和参考!!!很推荐这本书很不错,准备入手,一般不买实体书,都用电子书,因一般都看一遍,但这本会看很多遍 ...
- vue-13-swiper组件的使用
vue-13-swiper 是一个滑动库, 非常丰富的滑动样式, 轮播图等 https://www.swiper.com.cn https://github.com/surmon-china/vue- ...
- leetcode — minimum-path-sum
/** * Source : https://oj.leetcode.com/problems/minimum-path-sum/ * * * Given a m x n grid filled wi ...
- Disconf源码分析之启动过程分析上(1)
Disconf的启动,主要是包括两次扫描和XML非注解式配置,总共分为上下两篇,上篇先主要介绍第一次静态扫描过程. 先从入口分析,通过Disconf帮助文档,可以看到xml必须添加如下配置. < ...
- git在工作中的用法总结-使用篇
上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...
- SpringBoot(5) SpringBoot个性化启动
1.在类路径下增加一个banner.txt,里面是启动要输出的信息 自定义banner在线生成工具: http://www.bootschool.net/ascii _ _ _ _ __ | | __ ...
- 详细分析MySQL事务日志(redo log和undo log)
innodb事务日志包括redo log和undo log.redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作. undo log不是redo log的逆向过程,其实它 ...
- Perl一行式:处理行号和单词数
perl一行式程序系列文章:Perl一行式 所有行的行号 $ perl -pe '$_ = "$. $_"' file.log $ perl -ne 'print "$. ...
- Go基础系列:数据类型转换(strconv包)
Go不会对数据进行隐式的类型转换,只能手动去执行转换操作. 简单的转换操作 转换数据类型的方式很简单. valueOfTypeB = typeB(valueOfTypeA) 例如: // 浮点数 a ...