Как извлечь время из поля datetime и изменить только время до 9:00 вечера с помощью groovy?

#groovy #jira

#groovy #jira

Вопрос:

Я пытаюсь скопировать значения в 2 поля datetime. При копировании я хочу установить время на 9: 00 вечера и передать значение даты таким, какое оно есть.

Кто-нибудь может помочь, как это сделать

Ответ №1:

Я не уверен, что понимаю ваш вопрос, но если вы хотите установить для компонента времени a java.util.Date значение 9 вечера, это должно сработать

 Date date = new Date()
date.clearTime()
date.set((Calendar.HOUR_OF_DAY): 21)
  

Однако это изменяет исходный Date объект на месте. Чтобы избежать этого, используйте вместо этого следующее:

 Date date = new Date()    
Date dateAt9PM = new Date(date.getTime()).clearTime()
dateAt9PM.set((Calendar.HOUR_OF_DAY): 21)
  

Ответ №2:

Вы также можете использовать некоторую groovy magic (C)

 Date orig = new Date()   10
Datew newDate = orig.updated( hourOfDay:19, minute:42, second:33 )
  

дает

Сб 23 марта 19:42:33 UTC 2019