如题,今天学习wxs文件的使用,在写demo的时候出现了一个问题,在page页面的onLoad函数中定义了一个new Date(2020,11,10,14,40,50),并且使用this.setData函数更新数据,通过wxs文件接收后处理后返回给视图层,但是在控制台显示传入的数据是Invalid Date,并且后面的数据打印出来全部为NaN,想请各位大佬们给我找找问题出在哪,下面是代码和截图:
wxml
<wxs src = "wxs_demo.wxs" module="wxs"></wxs>
<view>{{time}}</view> // 传入进来的time会显示为Object
<view>{{wxs.timeFormat(time)}}</view>
js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var time = new Date(2020,10,10,14,40,50);
this.setData({
time : time
})
}
})
wxs
var timeFormat = function(time){
var date = getDate(time);
console.log(date);
var date_second = date.getTime() / 1000;
console.log("minute:"+ date_second);
var now_date = getDate();
var now_second = now_date.getTime() / 1000;
var timestamp = now_second - date_second;
var timeStr = "";
if(timestamp < 60 ){
timeStr = "刚刚";
}else if(timestamp >= 60 && timestamp < 60*60 ){
timeStr = parseInt(timestamp / 60) + "分钟前";
}else if(timestamp >= 60 *60 && timestamp < 60*60*24){
timeStr = parseInt(timestamp / 60 / 60) + "小时前";
}else if(timestamp >= 60*60*24 && timestamp < 60*60*60*30){
timeStr = parseInt(timestamp / 60 / 60 /24) + "天前";
}else{
var year = date.getFullYear();
var momth = date.getMonth();
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
timeStr = year + "/" + momth + "/" + day +" " + hour + ":" + minute;
}
console.log("timeStr:"+timeStr)
return timeStr;
}
module.exports = {
timeFormat : timeFormat
}
截图:
首先为什么出现Invalid Date 那是因为你传入的时间格式不正确
var date = new Date("dream"); console.log('date:', date); //Invalid Date // 然后日期参数不对返回肯定返回NaN // 另外getDate我没看到你怎么写 // 目前怀疑你是 new Date() 传参错误导致的 // 等待你后续补充getDate代码