我几乎阅读了所有关于这个主题的博客文章,但我并没有感到高兴。
我有一个站点在澳大利亚珀斯的服务器上运行(共享主机,因此服务器时间设置为珀斯时间)。但我需要在澳大利亚墨尔本时区记录所有 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/