【问题标题】:Jenkins server. new Date. Wrong time詹金斯服务器。新日期。不合时机
【发布时间】:2020-10-04 01:41:19
【问题描述】:

我使用 Jenkins 服务器版本 2.204.2。 Jenkins 在 Apache Tomcat 中运行

我运行以下代码:

pipeline {

    agent { node { label 'master' } }

    options {
        timestamps()
    }

    stages {

        stage('Test') {
            steps {
                script {
                    String stamp = new Date().format("YYYY.MM.dd HH:mm:ss")
                    println("Stamp 1 : ${stamp}")

                    String stamp2 = new Date().format("YYYY.MM.dd HH:mm:ss", TimeZone.getTimeZone("Asia/Jerusalem"))
                    println("Stamp 2 : ${stamp2}")
}}}}}

输出(当地时间现在是 18:30。我的时区是亚洲/耶路撒冷)是:

18:30:02 邮票 1 : 2020.06.14 15:30:02

18:30:02 邮票 2 : 2020.06.14 18:30:02

在系统信息页面 (http:///jenkins/systemInfo) 我看到 user.timezone=Asia/Jerusalem

为什么默认 new Date() 返回错误的时间? 相同的代码在另一台服务器上正常工作

谢谢

更新:此代码在 master 上运行。

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    您可能还需要设置org.apache.commons.jelly.tags.fmt.timeZone=America/New_York

    【讨论】:

      【解决方案2】:

      您可以查看您的timezone is.set correctly in Jenkins

      但你也应该检查一下timezone Tomvat is configured for

      还有你的操作系统设置的 TZ 的问题.. 这个 serverfault 答案详细说明了一些 OS level TZ issues

      我们的主节点位于一个 TZ 中,但我们的节点位于 3 个不同 TZ 的服务器上,我们的用户遍布各地。 .我们更喜欢在 UTC 中设置所有内容。

      【讨论】:

        猜你喜欢
        • 2012-11-01
        • 2013-04-02
        • 2017-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多