我将MS SQLServer 2012中的任何日期时间保存为UTC中的日期时间。 我想在后端通过coldfusion获取日期时间并将其传递给浏览器,以便通过JavaScript在浏览器中对其进行格式化,并将其格式化为用户通过浏览器获取的区域设置。
我应该使用什么日期时间格式将datetime对象从后端服务器传递到浏览器?
答案 0 :(得分:4)
我应该使用什么日期时间格式将datetime对象从后端服务器传递到浏览器?
您至少有两个可靠选项:
以毫秒为单位发送 - 自该纪元以来,或自秒钟以来的秒数。这是自1970年1月1日UTC午夜以来经过的毫秒数(或秒数)。在JavaScript中,您可以通过Date
从The Epoch开始,在几毫秒内获得new Date(num)
个实例。
示例:数字1461139200000
明确标识2016年4月20日早上8点正好是UTC。
使用UTC将其作为完整的ISO-8601日期/时间发送。这被支持作为所有现代浏览器上JavaScript Date
构造函数的输入格式,因为它在2009年被添加到JavaScript规范中。(Details here,请注意添加的是完整的子集ISO-8601,因此我说使用“完整”日期/时间。)
示例:字符串2016-04-20T08:00:00.000Z
明确标识2016年4月20日上午8点正好是UTC。
请注意,IE8在规范之前发布,并且不支持解析该字符串格式。但是,如果您需要支持过时的浏览器,则可以通过正则表达式轻松解析该格式。
第二种形式的优点是,在查看HTTP响应等时,您可以更轻松地进行调试,因为它是一种简单的人类可读形式。