使用 Groovy 在当前时间上增加 1 小时
Increment 1 hour on current time using Groovy
我正在尝试仅增加当前时间的小时数。
例如:用户当前时间是 2017/08/28 17:27:23
我想要的结果是 Mon Aug 28 18:00:00 IST 2017
- 意味着它只增加小时,其余的分钟和秒应该为零。
def d = (new Date()).format('yyyy/MM/dd HH:mm:ss')
log.info d
use(groovy.time.TimeCategory) {
//Add increment hour by 1
def incre = new Date(d) + 1.hours
log.info incre
}
我得到的结果:Mon Aug 28 18:35:24 IST 2017
您可以使用 Date.set(Map map)
更新特定字段,例如 minute
或 second
。请记住,此方法会改变 Date
对象和 returns void
因此在您的情况下您可以简单地添加:
incre.set(minute: 0, second: 0)
初始化 Date incre
对象后,它会将分和秒设置为 0,例如
def d = (new Date()).format('yyyy/MM/dd HH:mm:ss')
log.info d
use(groovy.time.TimeCategory) {
//Add increment hour by 1
def incre = new Date(d) + 1.hours
incre.set(minute: 0, second: 0)
log.info incre
}
希望对您有所帮助。
我正在尝试仅增加当前时间的小时数。
例如:用户当前时间是 2017/08/28 17:27:23
我想要的结果是 Mon Aug 28 18:00:00 IST 2017
- 意味着它只增加小时,其余的分钟和秒应该为零。
def d = (new Date()).format('yyyy/MM/dd HH:mm:ss')
log.info d
use(groovy.time.TimeCategory) {
//Add increment hour by 1
def incre = new Date(d) + 1.hours
log.info incre
}
我得到的结果:Mon Aug 28 18:35:24 IST 2017
您可以使用 Date.set(Map map)
更新特定字段,例如 minute
或 second
。请记住,此方法会改变 Date
对象和 returns void
因此在您的情况下您可以简单地添加:
incre.set(minute: 0, second: 0)
初始化 Date incre
对象后,它会将分和秒设置为 0,例如
def d = (new Date()).format('yyyy/MM/dd HH:mm:ss')
log.info d
use(groovy.time.TimeCategory) {
//Add increment hour by 1
def incre = new Date(d) + 1.hours
incre.set(minute: 0, second: 0)
log.info incre
}
希望对您有所帮助。