4
评估我的脚本从文件中读取一个字符串并将其评估为TimeCategory中的TimeDuration。如果字符串以“ - ”开头,则会引发异常。Groovy:Timeduration-Subtraction从字符串
我减少脚本:
import groovy.time.TimeCategory;
String string = "-1.day"
Date now = new Date()
use(TimeCategory)
{
def x = new Date() + evaluate(string)
println x
}
抛出:
groovy.lang.MissingMethodException: No signature of method: groovy.time.Duration.negative() is applicable for argument types:() values: []
Possible solutions: notify()
目前我的解决办法是这样的:
import groovy.time.TimeCategory;
String string = "-1.day"
Date now = new Date()
use(TimeCategory)
{
def x
if(string.startsWith("-"))
{
string = string.substring(1)
x = now - evaluate(string)
}
else
{
x = now + evaluate(string)
}
println x
}
它可以尽管做到以下几点。但是...我不喜欢它。我不知道后果(将其与不同的时间单位工作 “-1.day + 2.hours-3.minutes”):
String prestring = "-1.day"
String string = "0.day$prestring"
有什么建议?
谢谢。我将使用括号。我想用它“自然”,而不是编程。 – Simn 2013-04-11 06:23:33