如何将整数值从mssql转换为小时(时间)到EJS

时间:2018-12-11 02:35:20

标签: node.js sql-server datetime ejs

我目前正在一个项目中,我必须从SQL Server接收数据并使用node.js将该数据呈现到网页(EJS)中。 下面的图片是我数据的结果。

enter image description here

现在,我想将LengthTime(在MSSQL数据库中为Int格式)转换为Hours格式,并且想要显示StartTime和Entime,例如“ 11/12/2018 12:02:04 PM”。我该怎么办?

我的SQL和EJS编码。

function receiveData(req, res)
{
    db.executeSql("SELECT Machine,StartTime,EndTime,LengthTime,Day,JobNumber FROM Arduino order by StartTime DESC", function (recordsets, err, ) {

        var data = JSON.stringify(recordsets);

        if (err) {
            httpMsgs.show500(request, res, err);
        }
        else {

          var    Jdata = JSON.parse(data);


            console.log(Jdata);


            res.render('arduino',{Jdata:Jdata});



        }
    });
}

        <center> <table border="1" cellpadding="7" cellspacing="7">
            <tr>
                <th> ID </th>
                <th>-</th>
                <th>Machine</th>
                <th>Start Time</th>
                <th>End Time</th>
                <th>Length Time</th>
                <th> Day/Night</th>
                <th>Job Number</th>
            </tr>
            <% if(Jdata.recordset.length){

            for(var i = 0;i < Jdata.recordset.length;i++) { %>
            <tr>
                <td><%=(i+1)%></td>
                <td> </td>
                <td><%=Jdata.recordset[i].Machine %></td>
                <td><%=Jdata.recordset[i].StartTime%></td>
                <td><%=Jdata.recordset[i].EndTime%></td>
                <td><%=Jdata.recordset[i].LengthTime%></td>
                <td><%=Jdata.recordset[i].Day%></td>
                <td><%=Jdata.recordset[i].JobNumber%></td>

            </tr>
            <% }

            }else{ %>
                <tr>
                    <td colspan="3">No Data</td>
                </tr>
            <% } %>

        </table> </center>

1 个答案:

答案 0 :(得分:0)

由于LengthTime总是<86400,因此您可以喜欢

SELECT CAST(CONVERT(varchar, DATEADD(Second, LengthTime, 0), 108) AS TIME)
FROM YourTable;

您可以创建视图,或在查询中编写

db.executeSql("SELECT Machine,StartTime,EndTime,CAST(CONVERT(varchar, DATEADD(Second, LengthTime, 0), 108) AS TIME) LengthTime ....