【问题标题】:How to set timezone to UTC in Play Framework如何在 Play Framework 中将时区设置为 UTC
【发布时间】:2014-10-29 07:12:48
【问题描述】:

我想将用PlayFramework编写的java应用程序的时区设置为UTC

How to set timezone to UTC in Play Framework 2.0 for both production and tests?

我提到了上面提到的链接,但它提到了 build.scala,因为我们在 playframe 工作中有 build.sbt。

所以谁能告诉我如何在 build.sbt 中设置时区的 java 参数。

【问题讨论】:

  • 添加有关您当前 Play 版本的信息。

标签: playframework-2.0


【解决方案1】:

正如在几篇文章中所说(即在小组中),依赖系统设置是最安全的,而且这是最好的方法(不仅适用于 Play,而且不仅适用于 Java),无论如何,如果您需要在不更改操作系统的情况下更改时区设置(即开发人员在其他时区工作然后目标应用程序)您可以通过包含 JVM 选项(在您引用的主题中指出)来做到这一点,即对于 Play 2.2.x:

play -Duser.timezone=GMT ~run

对于 2.3.x+

./activator -Duser.timezone=GMT ~run

如 dist 版本的其他主题中所述,您需要修改生成的脚本或使用此选项调用它。

警告!在应用程序启动后(即在 Global 类中)以编程方式设置时区不是一个好的选择,@see this gist

提示。当然,为了避免禁用,您可以在应用程序的目录中编写一个 bash 脚本,即run.sh:

#!/bin/bash
./activator -Duser.timezone=GMT -Dhttp.port=12345 ~run

并使用它在开发模式下运行应用程序。如果使用某些 IDE 运行应用程序,请检查配置窗口中的 JVM 选项

【讨论】:

  • 在上面的链接中,他们提到可以将 build.scala 中的时区配置为 System.setProperty("user.timezone", "GMT") TimeZone.setDefault(TimeZone.getTimeZone (“格林威治标准时间”)) 。我想知道在 build.sbt 中是否可以做这样的事情
【解决方案2】:

或者你可以这样尝试:

./activator -Duser.timezone=GMT "run 12345"

这里的 12345 是您运行游戏应用程序的端口。

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 1970-01-01
    • 2018-09-13
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2015-12-06
    相关资源
    最近更新 更多