Javascript JSON日期格式-仅显示时间

Javascript JSON日期格式-仅显示时间,javascript,bootstrap-table,Javascript,Bootstrap Table,我有一个使用引导表的应用程序,其中一个字段是时间。当我从数据库中获取数据时,它是以JSON格式编码的。该字段的数据类似于2016-11-07T13:40:29.000Z,我知道这是标准JSON格式 理想情况下,我希望将其拆分,让表中的一列显示日期,另一列显示时间。但如果我能让时间列只显示时间,我会很高兴 我已经读到,这与向列标题添加dataFormatter有关,但我似乎无法使其工作,因为我的javascript返回NaN 这是我在研究问题时发现的代码。我是Javascript新手,所以这里可能

我有一个使用引导表的应用程序,其中一个字段是时间。当我从数据库中获取数据时,它是以JSON格式编码的。该字段的数据类似于2016-11-07T13:40:29.000Z,我知道这是标准JSON格式

理想情况下,我希望将其拆分,让表中的一列显示日期,另一列显示时间。但如果我能让时间列只显示时间,我会很高兴

我已经读到,这与向列标题添加dataFormatter有关,但我似乎无法使其工作,因为我的javascript返回NaN

这是我在研究问题时发现的代码。我是Javascript新手,所以这里可能有一些错误,我希望能得到一些帮助

<table id="table"  data-url ="http://maccdx161012:4567/api/v1/sat" data-toggle="table">
    <thead>
        <tr>

           <th data-field="initials">Initials</th>
            <th data-field="sector">Sector</th>
            <th data-field="cjs">CJS</th>
            <th data-field="satin" data-formatter="timeFormatter">In</th> 
            <th data-field="satout">Out</th> 
            <th data-field="duration">Duration</th> 
            <th data-field="position">Position</th>
            <th data-field="ot">OT</th>             
        </tr>
    </thead>
 </table>
<script>
    function timeFormatter(value) {
        var date = new Date(value*1000);
        var hours = date.getHours();
        var minutes = "0" + date.getMinutes();

        return hours + ':' + minutes.substr(-2);
    }
</script>

首字母
部门
CJS
在里面
出来
期间
位置
OT
函数timeFormatter(值){
var日期=新日期(值*1000);
var hours=date.getHours();
var minutes=“0”+date.getMinutes();
返回时数+':'+分钟.substr(-2);
}

函数timeFormatter(值){
var日期=新日期(值);
var hours=date.getHours();
var minutes=leadZero(date.getMinutes());
返回时间+':'+分钟;
}
函数日期格式化程序(值){
var日期=新日期(值);
var years=date.getFullYear();
var月数=leadZero(date.getMonth()+1);
var days=leadZero(date.getDate());
返回年数+'-'+月数+'-'+天;
}
函数leadZero(n){返回n>9?n:“0”+n;}

它将返回您当地时区的时间。如果您不想使用此功能,请使用Keith的解决方案。

'2016-11-07T13:40:29.000Z'。子字符串(11,16)
如果您看到一个NaN异常,可能“value”输入字段不是日期,您可以在函数中放置一个console.log(value)来查看问题所在。这似乎完全按照我的要求工作,但有一个问题。我有一次是这样的:16:39或15:32,这很好。但其中一些看起来像这样:16:0或18:0。你知道为什么这会发生在一些人身上,而不是所有人身上吗?当我删除代码并返回JSON格式时,它们看起来都一样。再次感谢!!这真的很有帮助。它可能与分钟数少于10的时间有关。试试新版本的神奇!非常感谢你!我不想问,但我会:)例如,我如何检索日期部分并将其显示为2016-11-11?
<script>
    function timeFormatter(value) {
        var date = new Date(value);
        var hours = date.getHours();
        var minutes = leadZero(date.getMinutes());

        return hours + ':' + minutes;
    }
    function dateFormatter(value) {
        var date = new Date(value);
        var years = date.getFullYear();
        var months = leadZero(date.getMonth() + 1);
        var days = leadZero(date.getDate());

        return years + '-' + months + '-' + days;
    }
    function leadZero(n) { return n>9 ? n : "0" + n; }
</script>