Forum Discussion

richie's avatar
richie
Community Hero
4 years ago
Solved

Inline Scripting - need to add X hours to specific datetime value?

Hey!   So- - new job (finally!) and I've got a payload that I need to handle with a bit of datetime inline scripting.   SO! - I have 2 fields in the payload with values with the formats as be...
  • richie's avatar
    4 years ago

    Hey!

     

    I found what i was looking for in link

     

    so if anyone else is looking you can use the following to plus/minus hours and days to current date

     

     

    CURRENT DATE
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -0); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}
    
    CURRENT DATE MINUS 2 DAYS FROM CURRENT DATETIME
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -2); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}
    
    CURRENT DATE PLUS 4 DAYS FROM CURRENT DATETIME
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, +4); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}
    
    MINUS 8 HOURS FROM CURRENT DATETIME
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.HOUR_OF_DAY, -8); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}
    
    ADD 7 HOURS FROM CURRENT DATETIME
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.HOUR_OF_DAY, +7); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}

     

     

    so I'm marking this as fixed!

     

    UPDATE:

    Oh just an update - if you want to add say more than one day - e.g. one and a half days - you can either just add the same number of hours (1.5 days = 36hours) as follows:

     

    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.HOUR_OF_DAY, +36); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}

     

    OR - you can add in a separate cal.add() method as well - so the above has the cal.add(Calendar.HOUR_OF_DAY, +36) - but you can add in the cal.add(Calendar.DATE) method as well so it reads as follows:

     

    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, +1); cal.add(Calendar.HOUR_OF_DAY, +12); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(cal.getTime());}

     

    I hope I've been clear!

     

    Thanks,

     

    Rich