【问题标题】:Get server date problem获取服务器日期问题
【发布时间】:2009-09-16 07:07:26
【问题描述】:

我在获取服务器日期(Linux 服务器)时遇到问题。当我使用 linux 'date' 命令时,我得到了正确的日期值(实际日期)。如果我修改一些文件 在服务器上,修改日期也正确(实际日期)。但是,如果我在服务器上使用 java 代码 System.out.println(new Date()) 我会得到相差 1 小时的日期 即 linux 'date' 命令结果 = 9 月 16 日星期三 08:48:25 CEST,System.out.println(new Date()) 结果 = 9 月 16 日星期三 07:48:25 GMT+1 这是linux配置问题还是使用java获取日期错误。 谢谢

date --rfc-2822; date +%s

2009 年 9 月 16 日,星期三 09:59:36 +0200 1253087976

System.out.println(new SimpleDateFormat("EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z").format(new Date()));
System.out.println(new Date().getTime() / 1000);

16 wrz 2009 09:00:33 +0100 1253088033

【问题讨论】:

    标签: java linux datetime


    【解决方案1】:

    您必须确保在使用日期之前使用正确的时区(或日历,就此而言 - 日期不是已弃用吗?)。

    例如:

    /* Skipping the boring class def part. */
    public static void main(String[] args) {
        Date date = new Date();
        DateFormat myDateFormat = new SimpleDateFormat();
        TimeZone firstTime = TimeZone.getTimeZone(args[0]);
        myDateFormat.setTimeZone(firstTime);
        System.out.println("-->"+args[0]+": " + myDateFormat.format(date));
    }
    

    然后参数可以是您想要的时区,例如“IST”、“GMT”等。

    【讨论】:

    • 感谢您的回答。它工作正常。日期日期 = 新日期(); DateFormat myDateFormat = new SimpleDateFormat(); firstTime = TimeZone.getTimeZone("欧洲/华沙"); myDateFormat.setTimeZone(firstTime); System.out.println(myDateFormat.format(date));产生如下输出:16.09.09 10:25
    【解决方案2】:

    这可能是时区/夏令时问题。使用:

    java.util.Timezone.getDefault()
    

    查看 Java 配置为使用哪个时区以及是否适用夏令时。

    【讨论】:

      【解决方案3】:

      我建议您升级 Java 安装。您的 JRE 可能没有最新的夏令时规则。 Java 获取自纪元以来的时间,并使用您当前的 TZ 设置来计算本地时间。夏令时规则时时变化,出现这种情况时操作系统和JDK都需要更新。

      您能否将以下输出添加到您的问题中:

      # unix
      date --rfc-2822; date +%s
      
      # Java
      System.out.println(new SimpleDateFormat("EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z").format(new Date()));
      System.out.println(new Date().getTime() / 1000);
      

      两者都应该输出如下内容:

      Wed, 16 Sep 2009 17:26:08 +1000
      1253085968
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-24
        • 2013-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多