如何在Play Framework中将时区设置为UTC

时间:2014-10-29 07:12:48

标签: playframework-2.0

我想将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参数。

2 个答案:

答案 0 :(得分:7)

正如在几个帖子中说的那样(即在群组中)最依赖系统的设置是最安全的,这是最好的方法(不仅适用于Play,而且不仅适用于Java),无论如何你需要在不改变操作系统的情况下更改时区设置(即devs在其他时区工作,然后是目标应用程序)你可以通过包含JVM选项(在你引用的主题中指出)来实现,即对于Play 2.2.x:

play -Duser.timezone=GMT ~run

和2.3.x +

./activator -Duser.timezone=GMT ~run

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

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

TIP。当然要避免禁用,你只需在应用程序的目录中编写一个bash脚本,即run.sh

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

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

答案 1 :(得分:0)

或者你可以这样试试:

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

这里12345是播放应用程序的运行端口。