Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How do I set a hard coded time with new date()?

Karina Green June 4, 2021

I am trying to create a new issue using scriptrunner and I need to hard code the time on a custom date field. so I'd like it to have the current date with a time of 4:00 AM

I was hoping to use the new Date() function and then hard code the time to 4:00 AM instead of the current time.

def startTime = customFieldManager.getCustomFieldObjectByName("Start Time")

Date dateStart = new Date()

issue.setCustomFieldValue(startTime, new Timestamp(new Date().time))

 

The output of the customfield(Start Time) should be display  as follows dd/mm/yy 4:00 AM

1 answer

1 accepted

0 votes
Answer accepted
PD Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 4, 2021

Jira stores all date/time fields in the db as timestamp values which are essentially the UTC EpochMilliseconds.

So that means that 4am for you may not be 4am for every user.

If you set the value to 4am server time, the equivalent UTC timestamp will be stored, and then other users in other timezones will see different times.

So depending on what you want and where you implement the script (i.e. who the script is running as) you might get different values.

If you don't care about all that and just want the current date at 4am (relative to the current user), just do this:

def dateStart = new Date().clearTime()
dateStart.setHours(4)
issue.setCustomFieldValue(startTime, dateStart)
Karina Green June 7, 2021

I added the code above but I am getting the following error.

 

jira.workflow.WorkflowException: Java type java.util.Date not currently supported. Sorry.

PD Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 7, 2021

Sorry, my bad

You need to convert the Date to a Timestamp before assigning it to a field:

issue.setCustomFieldValue(startTime, dateStart.toTimestamp())
Karina Green June 7, 2021

Brilliant! that worked, thank you so much, really appreciate your help.

Suggest an answer

Log in or Sign up to answer