If you cannot change the time zone of your server, you can force jelly to use a given time zone for formatting time stamps.
You need to start your Jenkins with the following java system property:
java -Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ ...
where TZ is a java.util.TimeZone ID ("Europe/Paris" for example).
Note that
user.timezone=Europe/Paris
will work as well, but it can interfere with other contexts.
If running Jenkins via a Linux package, this can be accomplished
by running
systemctl edit jenkins
and adding the following:
[Service]
Environment="JAVA_OPTS=-Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York"
or, if that doesn’t work:
[Service]
Environment="JAVA_OPTS=-Duser.timezone=America/New_York"
On FreeBSD, the file to edit is /etc/rc.conf, and the option to use is:
jenkins_java_opts="-Dorg.apache.commons.jelly.tags.fmt.timeZone=America/Denver"
On windows, edit
%INSTALL_PATH%/jenkins/jenkins.xml
. Put
-Dargs
before
-jar
:
<arguments>-Duser.timezone="Europe/Minsk" -jar "%BASE%\jenkins.war"</arguments>
You can also set it from the Jenkins Script Console on a live system without the need for a restart.
This can also be included in a Post-initialization script to make it permanent.
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'America/New_York')