如何将输入字符串转换为整数groovy

如何将输入字符串转换为整数groovy,groovy,Groovy,我有一个字符串,我需要求和,但我不知道怎么做 如何像这样转换字符串输入: 01:20 以小时和分钟之和使用的整数 您可以使用以下方法将其解析为日期: Date.parse( 'HH:mm', '01:00' ) 如果以后需要在日期上添加内容,可以执行以下操作: import groovy.time.* String time = '01:00' def duration = use( TimeCategory ) { Date.parse( 'HH:mm', time ) - D

我有一个字符串,我需要求和,但我不知道怎么做

如何像这样转换字符串输入:

01:20

以小时和分钟之和使用的整数

您可以使用以下方法将其解析为日期:

Date.parse( 'HH:mm', '01:00' )
如果以后需要在
日期
上添加内容,可以执行以下操作:

import groovy.time.*

String time = '01:00'

def duration = use( TimeCategory ) {
    Date.parse( 'HH:mm', time ) - Date.parse( 'HH:mm', '00:00' )
}
然后,稍后:

use( TimeCategory ) {
    println new Date() + duration
}

假设您已在变量中定义了字符串:

String timeStr = '01:00'
我能想到的最短路径是:

timeStr[0..1].toInteger()
仅澄清一下,上述行相当于:

timeStr.substring(0, 2).toInteger()
请注意指定“to”索引之间的区别。
对于Groovy range,它是包容性的。

你说得对,但是为什么不使用更短的属性表示法和字符串类型,而不是像这样的GString:
int hours=Date.parse('HH:mm',str)。hours
@topr
“HH:mm”
是一个String@tim_yates在出现
${expression}之前,从技术上讲这是正确的
在引号之间使用。但是为什么在不必要的地方使用双引号呢?当然,这是一个给定项目之间的编码约定问题。我发现在不需要的时候不要使用双引号。例如,这会违反这样的代码。是的,但它是一种字符串类型,而不是您在评论中所说的GString类型。主要是因为我是一名java开发人员,有一点groovy经验,我默认使用java语法(这并不总是很好:)
timeStr.substring(0, 2).toInteger()