java - Coldfusion/Java - 在与服务器不同的时区获取当前时间

标签 java coldfusion

我几乎阅读了所有关于这个主题的博客文章,但我并没有感到高兴。

我有一个站点在澳大利亚珀斯的服务器上运行(共享主机,因此服务器时间设置为珀斯时间)。但我需要在澳大利亚墨尔本时区记录所有 Activity 。例如,如果将记录写入数据库,我想记录发生在墨尔本的时间,而不是珀斯(例如发布的论坛主题)。我不能直接使用 DateDiff,因为墨尔本有夏令时,而珀斯没有。另外,我想,当我在做这件事的时候,我不妨想出一种方法,不管它运行的服务器的时区如何,它都能给我当前的墨尔本(或任何地方)时间。

这项任务已经变成了一个比我预期的要大得多的挑战。

我的结论是:

    timezoneClass = createObject( "java", "java.util.TimeZone" );
    melbourneTimezone = timezoneClass.getTimeZone(javaCast( "string", "Australia/Melbourne" ));
    melbourneCalendar = createObject( "java", "java.util.GregorianCalendar" ).init(melbourneTimezone);
    melbourneTime = melbourneCalendar.getTime();

    writeDump(melbourneTime);

.. 据我所知,这应该可以满足我的需求,但它并没有.. 当我转储“melbourneTime”时,它只给了我服务器时间。

谁能给我指点。我是否在正确的道路上,或者是实现预期结果的更简单的方法。

非常感谢

杰森

最佳答案

如果您将使用 rip747 / TimeZone-CFC ,您可以使用以下代码轻松找到答案:

timezoneObj = createObject("component", "timezone").init();
melbourneTime = timezoneObj.castFromServer(now(), "Australia/Melbourne");

writeDump(melbourneTime);

关于java - Coldfusion/Java - 在与服务器不同的时区获取当前时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19678363/

相关文章:

java - 如何从java中的整数列表中删除逗号

java - 从另一个 Java thrift 对象填充一个 Java thrift 对象

xml - 以@开头的变量名导致错误: Invalid token @ found on line X at column Y

java --version 在命令行中不起作用

java - 调整 BufferedImages 的大小并将其存储到 JPG 图像黑色背景的文件结果中

ColdFusion、CFDirectory 和法语

session - 注销并终止 session

javascript - 复杂的Javascript计算

coldfusion - cfldap 是否允许 cfqueryparam?

java - 使用装饰器模式格式化表输出