我正在尝试使用Groovy向日期添加动态月数。我已经使用TimeCategory尝试过了。
我已经尝试了在这里的博客中提到的- [https://stackoverflow.com/questions/31707460/how-to-add-year-or-months-from-current-date-in-groovy]但是我下面的代码没有返回正确的输出。需要帮助来找出我的代码有什么问题。
我的输入-当前运行日期= 2022年9月19日,附加月份= 5
上述代码的当前输出- MM/DD/YYYY 5个月
import com.sap.it.api.mapping.*;
import java.text.SimpleDateFormat;
import groovy.time.TimeCategory
def String AddMonthsToDate(String CurrentRunDate, int additionalmonths){
def emptydate = "";
if(CurrentRunDate == "")
{
return emptydate;
}
else
{
use(TimeCategory) {
def currentdate = CurrentRunDate.format("MM/dd/yyyy")
def addmonths = currentdate + additionalmonths.month
return addmonths
}
}}
1条答案
按热度按时间wb1gzix01#
这里的问题是,在将
CurrentRunDate
与TimeCategory一起使用之前,您没有将其转换为Date对象。您需要解析日期字符串,添加所需的月份,然后将Date转换回String以返回。从本质上讲,您需要类似于以下内容的内容:
作为测试: