node.js - 如何将 Int 值从 mssql 转换为小时(时间)到 EJS

标签 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>

最佳答案

由于LengthTime始终为<86400,因此您可以这样做

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

您可以创建一个 View ,或者在您的查询中写入

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

关于node.js - 如何将 Int 值从 mssql 转换为小时(时间)到 EJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716556/

相关文章:

分组内的 SQL 排序

c# - 我如何使用后面的 C# 代码中的参数调用存储过程

node.js - 在 Promise.then 之后和 res.send 之前未按需要修改对象字段

javascript - 带时区的 node-cron

javascript - 如何在 Node.js 的帮助下使用站点在 localhost 上工作?

c# - SQL插入查询抛出错误

php - MySQL - 将日期和时间保存为 DATETIME 与将日期和时间保存为字符串

PHP 将日期时间转换为秒

mysql - 使用 mysql 日期计算时出现奇怪的结果

node.js - 销毁指令中的 $interval