Ask a Question

Java code snippet no longer working to create dates in 3.3.2, worked fine in 3.3.1 and prior builds


Java code snippet no longer working to create dates in 3.3.2, worked fine in 3.3.1 and prior builds

I have been using the following custom property for years to create dates which I then pass for my insertion of transactions in my rest web service calls.  The below example has always created the date of tomorrow in "effectiveEntryDate":09/14/2020 format.


${=import javax.xml.datatype.DatatypeFactory; def cal = Calendar.instance;cal.add(Calendar.DATE, 1);cal.getTime().toLocaleDateString()}


It worked fine in 3.3.1 but once I upgraded to 3.3.2, it now returns an error:


"effectiveEntryDate":"No signature of method: java.util.Date.format() is applicable for argument types: (String) values: [MM/dd/yyyy]
Possible solutions: from(java.time.Instant), toYear(), stream(), getAt(java.lang.String), parse(java.lang.String), print("


Is it possible I need to upgrade the java for ReadyAPI, etc? Any help would be greatly appreciated!

Frequent Contributor

Hi @CByler 


Can you please try using 

For custom property:

${=import java.text.SimpleDateFormat ; new SimpleDateFormat("yyyy-MM-dd").format(new Date())}

You can update "yyyy-MM-dd" with your requirement(EX: yyyy-MM-dd'T'HH:mm:ss). 


For Groovy Script:

import java.text.SimpleDateFormat

def currentTime = new SimpleDateFormat ("yyyy-MM-dd").format(new Date())



The custom property worked perfectly! Let me ask one more thing. With the old java, I could modify the dates such as:


Same Day
${=import javax.xml.datatype.DatatypeFactory; def cal = Calendar.instance;cal.getTime().format("MM/dd/yyyy")}

Future Date
${=import javax.xml.datatype.DatatypeFactory; def cal = Calendar.instance;cal.add(Calendar.DATE, 1000);cal.getTime().format("MM/dd/yyyy")}


Is that possible using the SimpleDate snippets?

Frequent Contributor

1) Future date custom property with Local Date class: 

${= import java.time.LocalDate;"MM/dd/yyyy"))}




2) Future Date in groovy with Simple Date Format:

import groovy.time.TimeCategory
import java.text.SimpleDateFormat


use(TimeCategory) {
def time = new Date()+ 1.days
date = new SimpleDateFormat ("MM/dd/yyyy").format(time)


Thanks so much for your help!

Showing results for 
Search instead for 
Did you mean: