Java tomcat显示错误的时间

Java tomcat显示错误的时间,java,tomcat,war,Java,Tomcat,War,我安装了一组war文件,这些文件是从tomcat执行的 问题是tomcat没有在正确的时间抓到 如日志文件所示 Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server version: Apache Tomcat/7.0.76 Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionL

我安装了一组war文件,这些文件是从tomcat执行的

问题是tomcat没有在正确的时间抓到

如日志文件所示

    Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/7.0.76
Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Oct 30 2017 10:21:55 UTC
    Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         7.0.76.0
    Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Linux
    Apr 18, 2018 12:02:14 AM org.apache.catalina.startup.VersionLoggerListener log
上面显示的时间是2018年4月18日12:02:14 AM,但系统中的当前时间如下所示

2018年4月17日星期二20:15:33 IST

我已经检查了下面的答案,但似乎没有产生预期的结果

我的系统中没有catalina.sh和

/etc/localtime->/usr/share/zoneinfo/Asia/Kolkata

i、 一切都在我的心里

# timedatectl
      Local time: Tue 2018-04-17 20:21:29 IST
  Universal time: Tue 2018-04-17 14:51:29 UTC
        RTC time: Tue 2018-04-17 14:51:29
       Time zone: Asia/Kolkata (IST, +0530)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

我甚至重新启动了tomcat甚至服务器,但毫无帮助,我假设您正在linux上运行应用程序。 在远程服务器上的终端中键入日期,同时检查本地系统上的日期时间,找出它们之间的时间差(即时区偏移量),并更新下面给出的与时区相关的示例代码

$ date
Psuedo java代码,用于处理从UTC到IST转换的日期

public static String UTCtoIST(String dateUTC, DateFormat inputdf, DateFormat expecteddf) {
    try {
        inputdf.setTimeZone(TimeZone.getTimeZone("UTC"));
        Date _dateUTC = inputdf.parse(dateUTC);
        expecteddf.setTimeZone(TimeZone.getTimeZone("IST"));
        return expecteddf.format(_dateUTC);
    } catch (Exception e) {
        //handle exception here
    }
    return null;
}
调用方法的示例

 DateFormat inputdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 DateFormat expecteddf = new SimpleDateFormat("yyyyMMdd");
 UTCtoIST(toDateInUTC, inputdf, expecteddf);

你为什么说你没有catalina.sh?你没有访问权限吗?它应该在{tomcat_home}/bini中。我已经在tomcat/home中签入了catalina.sh文件,但该文件不存在。我们使用的是centos 7。文件应该位于Tomcat服务器安装的
bin
子目录中,而不是Tomcat用户目录中。您使用什么命令来运行服务器?查找/usr/share/tomcat/bin-rw-r--r--1 root tomcat 29207 Oct 30 15:52 bootstrap.jar-rw-r--r--1 root tomcat 1647 Oct 30 15:52 catalina-tasks.xml-rw-r--r--1 root 38548 Oct 30 15:52 tomcat-juli.jar我还使用systemctl运行tomcat服务器。systemctl启动tomcatAs日期差异在于ApacheTomcat。开发人员不会同意进行代码更改。我在寻找一种方法来改变tomcat。