猫鼬日期戳的JS日期格式

时间:2019-10-13 15:04:48

标签: javascript node.js mongoose momentjs

我知道类似的问题已经问过很多遍了,但是我一直在寻找答案。

我的代码如下:

        <table id="dtBasicExample" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0" width="100%">
            <thead>
                <tr>
                <th class="th-sm">Date Requested
                </th>
                <th class="th-sm">Client
                </th>
                <th class="th-sm">Waybill
                </th>
                <th class="th-sm">From
                </th>
                <th class="th-sm">To
                </th>
                <th class="th-sm">Service
                </th>
                <th class="th-sm">Supplier
                </th>
                <th class="th-sm">kg
                </th>
                <th class="th-sm">Supplier
                </th>
                <th class="th-sm">VAT
                </th>
                <th class="th-sm">Total
                </th>
                <th class="th-sm">Client
                </th>
                <th class="th-sm">VAT
                </th>
                <th class="th-sm">Total
                </th>
                <th class="th-sm">Profit
                </th>
                <th class="th-sm">Status
                </th>
                <th class="th-sm">Modify
                </th>
                </tr>
            </thead>
            <tbody>
                <% for (let x of collections) {%>
                <tr style="<%= x.collectionStatusId.status == 'Requested' ? 'background-color: pink; color: black' : '' %>">
                    <td><%-x.createdAt%></td>
                    <td><%-x.client.companyName%></td>
                    <td><%-x.waybill%></td>
                    <td><%-x.sender.company%></td>
                    <td><%-x.receiver.company%></td>
                    <td><%-x.serviceId? x.serviceId.serviceCode : ''%></td>
                    <td><%-x.supplier? x.supplier.name : ''%></td>
                    <td><%-x.chargeableWeight%></td>
                    <td><%-x.supplierRate%></td>
                    <td><%-x.supplierVat%></td>
                    <td><%-x.supplierRate + x.supplierVat%></td>
                    <td><%-x.myRate%></td>
                    <td><%-x.myVat%></td>
                    <td><%-x.myRate + x.myVat%></td>
                    <td><%-(x.myRate - x.supplierRate)%></td>
                    <td><%-x.collectionStatusId.status%></td>
                    <td><a href="/admin/<%- x.collectionStatusId.status == 'Requested' ? 'accept' : 'edit' %>/<%- x.waybill %>"><%- x.collectionStatusId.status == 'Requested' ? 'Accept' : 'Update' %></a></td>
                </tr>
                <% } %>

            </tbody>
            <tfoot>
                <tr>
                <th class="th-sm">Date Requested
                </th>
                <th class="th-sm">Client
                </th>
                <th class="th-sm">Waybill
                </th>
                <th class="th-sm">From
                </th>
                <th class="th-sm">To
                </th>
                <th class="th-sm">Service
                </th>
                <th class="th-sm">Supplier
                </th>
                <th class="th-sm">kg
                </th>
                <th class="th-sm">Supplier
                </th>
                <th class="th-sm">VAT
                </th>
                <th class="th-sm">Total
                </th>
                <th class="th-sm">Client
                </th>
                <th class="th-sm">VAT
                </th>
                <th class="th-sm">Total
                </th>
                <th class="th-sm">Profit
                </th>
                <th class="th-sm">Status
                </th>
                <th class="th-sm">Modify
                </th>
                </tr>
            </tfoot>
        </table>

关注这一行:

<td><%-x.createdAt%></td>

在网络上查看,看起来像这样:

  

2019年9月27日星期五17:38:08 GMT + 0200(南非标准时间)

我希望它看起来像什么

  

2019年9月27日

有可能使用moment.js吗?

我尝试过的事情: 在顶部:

<script src="/js/moment.js"></script>

,然后(用于测试目的的硬编码日期)

<td><script>moment('1977-08-20 14:29:00 UTC').format('dd MMM YYYY')</script>   </td>

1 个答案:

答案 0 :(得分:0)

我实际上对JS很陌生,花了我几分钟才弄清楚,但这实际上很简单。

<td><%-x.createdAt%></td>

已更改为

<td class="formattedDate"><%-x.createdAt%></td>

,在添加以下内容之前的底部:

<script src="/js/jquery-3.3.1.js"></script>

<script>
$(document).ready(function () {
    var x = document.getElementsByClassName('formattedDate');
    for (i = 0; i < x.length; i++) {
        x[i].innerHTML = moment(x[i].innerHTML).format('DD MMM YYYY');
    }
});
</script> 

希望这会有所帮助