vue-cli3在项目过程中,需要将时间控件的时间戳写入mysql中,但是js的时间戳格式如下:2019-07-23T16:00:00.000Z
而mysql的datetime的格式为‘yyyy-mm-dd hh:mm:ss’,因此需要转换,在查询各种资料的情况下,找到一个比较好的解决方案:使用moment库
使用moment库
npm install moment --s //为项目注册组件
语法如下:
//node.js的用法
moment = require('moment')
var newdate = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
//vuex的用法
//在vuex中,如果需要显示时间,但是又不是以时间控件的形式展示,需要对时间戳进行转换
//转换过程如下
import moment from 'moment';
element.LastRunTime = element.LastRunTime == '0000-00-00 00:00:00' || element.LastRunTime == '' || element.LastRunTime == null ? "" : moment(element.LastRunTime).format('YYYY-MM-DD HH:mm:ss');
需要注意的一点是,对于mysql的datetime型字段,是无法从非空设置为空的,因此,如果写入的数据为空,可以设置为‘0000-00-00 00:00:00’,设置语句如下:
var val = params.LastRunTime == '' || params.LastRunTime == null || params.LastRunTime == '0000-00-00 00:00:00' ? '0000-00-00 00:00:00' : moment(params.LastRunTime).format('YYYY-MM-DD HH:mm:ss')