一、封装函数获取时间戳
封装函数
自定义一个文件夹,放utils.js
utils.js
function formatTime(date) {
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var hour = date.getHours()
var minute = date.getMinutes()
var second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
function formatNumber(n) {
n = n.toString()
return n[1] ? n : '0' + n
}
module.exports = {
formatTime: formatTime
}
使用函数
ceshi.js
// 在需要使用的js文件中,导入js
// 路径就填自己放的路径
var util = require('../utils/utils.js');
Page({
data: {
},
onLoad: function () {
// 调用函数时,传入new Date()参数,返回值是日期和时间
var time = util.formatTime(new Date());
// 再通过setData更改Page()里面的data,动态更新页面的数据
console.log(time)//打印测试时间
}
})
结果
2019/11/09 13:09:56
二、不用封装函数,自己获取时间戳
比如,我就需要现在的年、月、日,若封装函数,感觉代码量有点多。
那么我们就自己在js中随时获取,就ok了。
ceshi.js
Page({
data: {
},
onLoad: function () {
let year=new Date().getFullYear()
let month=new Date().getMonth()+1 //这里month需要+1
let day=new Date().getDate()
let hour=new Date().getHours()
let minute=new Date().getMinutes()
let secend=new Date().getSeconds()
console.log("year="+year);
console.log("month="+month)
console.log("day="+day)
console.log("hour="+hour)
}
})
结果
注意:使用getFullYear()等获取信息的时候,记得后面是有 括号的!
三、使用picker组件获取用户选择的时间,并规范化
1、使用picker组件获取用户选择时间
wxml
<view class="top_content">
<picker mode="date" value="{{date}}" start="2015-09-01" end="2020-09-01" bindchange="DateChange">
<view class="top_contenta">在一起</view>
<text><text class="top_contentb">{{total_days}}</text>天</text>
</picker>
</view>
js
DateChange:function(e){
//选择的时间 在e.detail.value中
console.log("用户选择的时间是:" + e.detail.value)
}
结果(控制台调试结果)
用户选择的时间是:2019-11-09
2、规范化,便于求日期加减
js
DateChange:function(e){
console.log("用户选择的时间是:" + e.detail.value)
// 时间规范化 将2019-1-1==》 2019/1/1
var start_date = e.detail.value.replace(/-/g, "/")
//利用 Date.parse 求距离1970-1-1的毫秒数 方便进行日期加减计算
var x = Date.parse(new Date(start_date));
var y=Date.parse(new Date("2017-1-1"))//自定义字符串 string==》Date
//验证结果
console.log("用户选择的时间距离1970-1-1的毫秒数="+x)
console.log("2017-1-1距离1970-1-1的毫秒数="+y)
console.log("二者之间相差的天数="+(x-y)/(1000*3600*24))
}
结果
更多
获取更多资料、代码,微信公众号:海轰Pro
回复 海轰 即可