Javascript 在Web应用程序中显示时区敏感的日期和时间?
我正在寻找在用户当前时区以外的时区显示web应用程序时间的建议。 我们在数据库中以UTC/GMT格式存储日期/时间,因此设置UTC/GMT或用户当前时区的时间格式不是问题。但是,在其他情况下,我们需要从任意时区的角度显示时间(即,无论用户是否在西海岸、中部、东部等地,此页面上的每个日期/时间都在东部) 在过去,我们存储了偏移量或时区信息,然后在.Net的服务器代码中进行计算,或者我们用javascript进行了一些客户端操作,这是我希望避免的,因为这一切都变得非常依赖javascript和用户的浏览器。我想知道在客户端/MVC类型的应用程序中实现这一点的最佳方法 以下是一个例子:Javascript 在Web应用程序中显示时区敏感的日期和时间?,javascript,.net,asp.net,asp.net-mvc,datetime,Javascript,.net,Asp.net,Asp.net Mvc,Datetime,我正在寻找在用户当前时区以外的时区显示web应用程序时间的建议。 我们在数据库中以UTC/GMT格式存储日期/时间,因此设置UTC/GMT或用户当前时区的时间格式不是问题。但是,在其他情况下,我们需要从任意时区的角度显示时间(即,无论用户是否在西海岸、中部、东部等地,此页面上的每个日期/时间都在东部) 在过去,我们存储了偏移量或时区信息,然后在.Net的服务器代码中进行计算,或者我们用javascript进行了一些客户端操作,这是我希望避免的,因为这一切都变得非常依赖javascript和用户的
还有其他选择吗?其他人如何处理类似情况?谢谢。我建议您查看库。它提供了对基本JavaScript日期操作的一系列扩展,包括“setTimezone()”方法和将日期转换为格式化字符串以供显示的灵活方法 如果在问题中没有明确允许使用库,我通常会犹豫是否建议使用库,但Datejs不是很大,而且非常可靠(尽管它被称为“alpha”版本)。如果您不想依赖这样的东西,您可能希望看看它,看看它的扩展是如何实现的。我们的结果:
在转换例程增加的代码复杂性和它们似乎导致的错误之间,我们决定在大多数情况下避免客户端数据处理。我们使用现有的日期处理例程在服务器上进行日期转换,并将格式化的日期或信息作为属性传递给视图。如果我们需要一个单独的日期,我们只需添加另一个属性。通常我们一次只需要几个属性(即EventDateUTC、EventDateLocal、EventDateAlwaysAsustralia和EventDayOfWeek)。您最终使用了什么?我要试一试,我有同样的客户要求&我在这一点上正在与时间赛跑!我们最终在服务器上完成了所有的计算。我会补充一个答案。