asp经典需要在EST获得当前时间

问题描述:

我需要获取当前的东部时区。 我正在使用asp classic。我尝试了很多,但我没有得到解决方案。 任何人都可以帮助我。 我正在使用 现在()asp经典需要在EST获得当前时间

获得vb classic的当前值,但我需要在东部时区的当前时间。

+0

获取UTC时间 - > http://*.com/a/11441116/246342添加偏移量(记住一些地方将使用夏季夏令时) – 2014-12-02 13:28:46

+0

如果希望整个应用程序使用EST,并且服务器上没有其他可能受到影响的应用程序,则会在Windows Server上的区域设置中更改时区。记得经典ASP从服务器的区域设置中获取日期/时间信息。 – Lankymart 2014-12-02 14:20:07

我不同意转换为UTC时间是要走的路,正好,因为那么你就可以应对夏令时的头痛问题。相反,找出服务器设置的时区,找出从东到西的偏移量,然后代替Now,使用DateAdd('h',3,Now)。 (当然,如果服务器不在西海岸,用正确的数字替换3.)

+0

感谢您的帮助。 – 2014-12-04 13:10:27

+0

这使得代码依赖于服务器时区。获取UTC并转换为EST/EDT意味着如果有人更改服务器时区(或代码移至另一台服务器或其他服务器),则不会影响计算。我想这就是为什么Alex K首先提出UTC的原因。还有一个假设,即服务器以及您定位的EST的任何区域都以同样的方式同时庆祝DST。这对任何一种解决方案都是正确的,但是如果使用UTC,则必须明确地处理它,而不是依赖于服务器与目标语言环境时间的优点。 – Craig 2014-12-04 22:52:34

+0

@克雷格,这是严重的过早优化。实际上,服务器更改时区的可能性实际上为零,如果您必须更换服务器,则无论如何,您都必须修复代码。 – Martha 2014-12-05 02:15:43

亚历克斯K有正确的答案,他以评论的形式提出。这是一个答案的形式:

获取UTC时间 - >*.com/a/11441116/246342添加偏移(记住一些地方将使用夏令夏天)

对于我的应用我试图来存储所有倍UTC避免这个问题。对于某些日期/时间的计算,我可以通过服务器的本地时区获得,比如当我只需要知道经过的时间。所以我只是小心地确保服务器时区是我期望的情况下我需要显示它。例如,我们的营销部门认为我们的特别优惠在“午夜UTC”过期时非常用户友好,因此我们只是说“午夜中部时间”,让人们将他们的头脑转换为当地时间。在内部,我可以比较现在至报价的到期日期,它工作正常。