服务器API返回日期/时间为纪元(eventTime
)的数据集。我需要将其转换为日期/时间人类可读的格式。实现相同目标的正确格式是什么?
用于显示表格的模板
<div class="table-responsive">
<v-client-table
:data="tableData"
:columns="columns"
:options="options">
</v-client-table>
</div>
JS部分
data () {
return {
User,
title: 'Verifications',
columns: ['trackingcode', 'userName', 'eventTime',
'scanResult', 'place_info.administrative_area_level_1'],
tableData: [],
rows: this.tableData,
options: {
uniqueKey: '_id',
headings: {
trackingcode: 'Serial Num',
userName: 'User Name',
dateTime: 'Date/Time',
scanResult: 'Status',
'place_info.administrative_area_level_1': 'City'
},
columnsDropdown: true,
filterByColumn: true,
sortable: ['trackingcode', 'userName'],
filterable: ['trackingcode', 'userName', 'place_info.administrative_area_level_1']
}
}
methods: {
getHumanDate: function (date) {
var fixedstring
try {
// If the string is UTF-8, this will work and not throw an error.
fixedstring = decodeURIComponent(escape(date))
} catch (e) {
// If it isn't, an error will be thrown, and we can asume that we have an ISO string.
fixedstring = date
}
return moment.unix(fixedstring / 1000).format('DD-MMM-YYYY h:mm:ss A Z')
}
}
答案 0 :(得分:0)
您可以使用js Date对象完成所有这些操作,我看不出问题出在哪里?
要将ms-since-epoch转换为日期对象,只需将其放入构造函数中即可... new Date(1538380103350);
做到这一点的最佳位置是在收到JSON.parse()
之后,甚至可以使用reviver函数,但要从其他数据中识别这种格式的日期可能会很棘手。
然后使用toLocaleDateString()
的所有优点格式化或翻译日期。请提供所需格式的更多详细信息,我可能会提供更多方便的建议:-)