最近两天在时间格式的显示上遇到了一些问题,在网上找了一个组件moment,用在微信小程序中,在电脑上能正常使用,但是把代码上传到服务器之后,就报错了,locale is not a function.现在还没弄清楚是什么原因。我只能换了一种方法。
utc格式转换为日期时间格式
- 首先将utc格式转换为时间戳
var operationTime = data.recordItems[i].operationTime;//从后台获得的utc格式的时间
var T = new Date(operationTime); // 将指定日期转换为标准日期格式。Fri Dec 08 2017 20:05:30 GMT+0800 (中国标准时间)
var str = T.getTime();// 将转换后的标准日期转换为时间戳。
- 然后将时间戳转换为日期格式
var time1 = time.formatTimeTwo(str/1000, 'Y/M/D h:m:s'); //记住:这里要将时间戳/1000
time.js
function formatNumber(n) {
n = n.toString()
return n[1] ? n : '0' + n
}
/**
* 时间戳转化为年 月 日 时 分 秒
* number: 传入时间戳
* format:返回格式,支持自定义,但参数必须与formateArr里保持一致
*/
function formatTimeTwo(number, format) {
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
var returnArr = [];
var date = new Date(number * 1000);
returnArr.push(date.getFullYear());
returnArr.push(formatNumber(date.getMonth() + 1));
returnArr.push(formatNumber(date.getDate()));
returnArr.push(formatNumber(date.getHours()));
returnArr.push(formatNumber(date.getMinutes()));
returnArr.push(formatNumber(date.getSeconds()));
for (var i in returnArr) {
format = format.replace(formateArr[i], returnArr[i]);
}
return format;
}
module.exports = {
formatTimeTwo: formatTimeTwo
}
感谢这位朋友的分享:https://www.cnblogs.com/haonanZhang/p/8797544.html