javascript - 来自猫鼬日期戳的JS日期格式
问题描述
我知道类似的问题已被问过很多次,但没有答案是我正在寻找的..
我的代码如下所示:
<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>
解决方案
我实际上对 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>
希望这可以帮助
推荐阅读
- odoo-11 - 从向导打印
- c# - 向同一子网中的离线主机发送UDP数据包长延迟
- mysql - mysql插入查询和邮递员检查
- c# - 如何禁用第一个输入的标记
- java - 如何在列表和迭代器中删除警告[不是@SuppressWarnings] [在两行代码上应用什么泛型类型]
- css - 我在 highcharts 标题上的 css 工具提示不起作用
- java - 如何通过 Kotlin Gradle 和 -D 为我的测试提供系统属性
- javascript - 在 Javascript 端保存处理程序之前计算 vTiger 字段(内部代码)
- reactjs - 过多的项目渲染
- javascript - 角度材质 - 对材质表进行排序后,动画过渡开始状态未更新