从服务器获取哪个日期时间格式并传递到浏览器以在Javascript中格式化?

时间:2016-04-20 07:50:23

标签: javascript datetime datetime-format

我将MS SQLServer 2012中的任何日期时间保存为UTC中的日期时间。 我想在后端通过coldfusion获取日期时间并将其传递给浏览器,以便通过JavaScript在浏览器中对其进行格式化,并将其格式化为用户通过浏览器获取的区域设置。

我应该使用什么日期时间格式将datetime对象从后端服务器传递到浏览器?

1 个答案:

答案 0 :(得分:4)

  

我应该使用什么日期时间格式将datetime对象从后端服务器传递到浏览器?

您至少有两个可靠选项:

  1. 以毫秒为单位发送 - 自该纪元以来,或自秒钟以来的秒数。这是自1970年1月1日UTC午夜以来经过的毫秒数(或秒数)。在JavaScript中,您可以通过Date从The Epoch开始,在几毫秒内获得new Date(num)个实例。

    示例:数字1461139200000明确标识2016年4月20日早上8点正好是UTC。

  2. 使用UTC将其作为完整的ISO-8601日期/时间发送。这被支持作为所有现代浏览器上JavaScript Date构造函数的输入格式,因为它在2009年被添加到JavaScript规范中。(Details here,请注意添加的是完整的子集ISO-8601,因此我说使用“完整”日期/时间。)

    示例:字符串2016-04-20T08:00:00.000Z明确标识2016年4月20日上午8点正好是UTC。

    请注意,IE8在规范之前发布,并且不支持解析该字符串格式。但是,如果您需要支持过时的浏览器,则可以通过正则表达式轻松解析该格式。

  3. 第二种形式的优点是,在查看HTTP响应等时,您可以更轻松地进行调试,因为它是一种简单的人类可读形式。