Groovy代码示例 – 日期对象的使用
不论在Java或groovy中,日期都是经常使用到的对象。不同的是,groovy对于java中的日期做了很多扩展以方便开发人员使用。
1、对象定义
在Java中Date类的功能相对比较弱,而Calendar则比较强大一些,可以支持日期的计算。而在groovy中两者既可以支持日期的计算与比较。首先看下日期对象的定义:
//定义日期对象
def date = new Date()
println date // Sat Sep 26 19:22:50 EEST 2015
//定义日历对象
def calendar = Calendar.instance
println calendar // java.util.GregorianCalendar[time=...
2、日期字符串的解析 - data parsing
开发人员经常需要将特定格式的日期字符串解析为日期对象,在groovy中可以这么做
//按照指定格式解析字符串
def date = new Date().parse("dd.MM.yyy", '18.05.1988')
println date // Wed May 18 00:00:00 EEST 1988
//按照另外一个格式解析字符串
def extendedDate = new Date().parse("dd.MM.yyy HH:mm:ss", '18.05.1988 12:15:00')
println extendedDate // Wed May 18 12:15:00 EEST 1988
3、日期的格式化 - date formatting
将日期格式化为字符串同样很有用,在groovy中操作起来要方便很多,只需要调用date.format方法即可
//解析日期
def date = new Date().parse("dd.MM.yyy", '18.05.1988')
//按照指定格式来格式化日期
def formattedDate = date.format("dd/MM/yyy")
println formattedDate // 18/05/1988
groovy中如何转化日期的格式?groovy中的日期对象功能有所增强,直接支持日期的解析与格式化,示例代码如下:
String oldDate = '04-DEC-2019'
Date date = Date.parse('dd-MMM-yyyy', oldDate)
String newDate = date.format('yyyy-MM-dd')
println newDate //2019-12-04
4、日期的计算 - date arithmetic
groovy对于日期的计算也提供了增强的支持,使用起来相当方便
//定义日期
def date = new Date().parse("dd.MM.yyy", '18.05.1988')
//克隆日期
def datePlus = date.clone()
def dateMinus = date.clone()
//日期+5天,使用操作符
datePlus = datePlus + 5
println datePlus // Mon May 23 00:00:00 EEST 1988
//日期+5天,使用方法
datePlus = datePlus.plus(5)
println datePlus // Sat May 28 00:00:00 EEST 1988
//日期-10天,使用操作符
dateMinus = dateMinus - 10
println dateMinus // Sun May 08 00:00:00 EEST 1988
//日期-10天,使用方法
dateMinus = dateMinus.minus(10)
println dateMinus // Thu Apr 28 00:00:00 EEST 1988
//日期之间所有日期(大等于dateMinus并且小于datePlus之间的所有日期)
def dateInterval = dateMinus..<datePlus
println dateInterval // [Thu Apr 28 00:00:00 EEST 1988,.., Fri May 27 00:00:00 EEST 1988]
5、日期下标的使用 - subscript operators
//静态导入
import static java.util.Calendar.*
def date = new Date().parse("dd.MM.yyy", '18.05.1988')
//获取日期的年份
println date[YEAR] // 1988
//获取日期的月份
println date[MONTH] // 4
//获取日期
println date[DATE] // 18
//设置年份
date[YEAR] = 1999
//设置月份
date[MONTH] = 7
//设置日期
date[DATE] = 20
println date // Fri Aug 20 00:00:00 EEST 1999
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/05/06/groovy-code-example-usage-of-date-object/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论