Did you mean something like this?
Changing from Joda to ZonedDateTime seems straight forward:
from org.joda.time import DateTime→from java.time import ZonedDateTimeDateTime.now()→ZonedDateTime.now().getHourOfDay()→.getHour().getMinuteOfHour()→.getMinute().plusMillis(x)→ '.plusNanos(x * 1000000)`
and so on.
Alternatively, for even less change:
from java.time import ZonedDateTime as DateTime
Then you just need to change getHourOfDay etc to their equivalent methods of ZonedDateTime. Most of the other methods have the same name, e.g. plusMinutes().