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全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Groovy代码示例 – 日期对象的使用
不论在Java或groovy中,日期都是经常使用到的对象。不同的是,groovy对于java中的日期做了很多扩展以方便开发人员使用。 1、对象定义 在Java中Date类的功能相……
<<上一篇
下一篇>>
文章目录
关闭
目 录