首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript中将MySQL时间戳转换为本地时间

问在Javascript中将MySQL时间戳转换为本地时间
EN

Stack Overflow用户
提问于 2014-10-19 08:46:10
回答 2查看 3K关注 0票数 1

我已经看到了一些关于这方面的问题,然而似乎没有一个是对所有浏览器通用的解决方案。

在我的网页上,我正在获取UTC格式的MYSQL时间戳'YYYY-MM-DD hh:mm:ss‘。但是,我需要在Javascript中转换这个时间戳,以便仅以本地子午线格式显示时间。(即..晚上8时)。

我找到的最接近的解决方案是将'UTC‘附加到MySQL时间戳字符串并创建一个类似的date对象。但是,此解决方案在Safari中不起作用。如果有人知道解决方案,请让我知道。

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2016-01-21 07:22:52

首先将MySql date字符串转换为JavaScript Date对象。然后将此gmt日期对象转换为本地日期对象。

代码语言:javascript
复制
function mysqlGmtStrToJSDate(str) {

        var t = str.split(/[- :]/);

        // Apply each element to the Date function
        return new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);

    }

    function mysqlGmtStrToJSLocal(str) {
        // first create str to Date object
        var g = mysqlGmtStrToJSDate(str);
        // 
        return new Date(g.getTime() - ( g.getTimezoneOffset() * 60000 ));
    }
票数 1
EN

Stack Overflow用户

发布于 2014-10-19 09:14:30

在JS中将MySQL timestamp转换为Date对象,然后使用getTimezoneOffset()是一种有效的方法。根据ECMAScript规范,Date应该类似于:YYYY-MM-DDTHH:MM:SS,因此您应该正确地格式化日期( string replace(' ', 'T') )

如果它仍然不起作用,这是一个在所有浏览器上都有效的日期格式列表,如here所述

var d=新日期( 2011,01,07);var d=新日期(2011,01,07,11,05,00);var d=新日期(“02/ 07 /2011”);var d=新日期(“02/07/2011 11:05:00");var d=新日期(1297076700000);var d=新日期(”2011 Mon Feb 07 11:05:00 GMT");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26446094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档