日期转时间戳
let datetime = '2021-06-06 11:22:33'
let timestamp = new Date(datetime.replace(/-/g,"/")).getTime()/1000
时间戳转日期
util.js
const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
/**
* 时间戳转化为年 月 日 时 分 秒
* number: 传入时间戳
* format:返回格式,支持自定义,但参数必须与formateArr里保持一致
*/
function formatTime2(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 = {
formatTime2: formatTime2
}
var time = require('../../utils/util.js');
let datestr = time.formatTime2(timestamp, 'Y-M-D')
let timestr = time.formatTime2(timestamp, 'h:m:s')
let datetimestr = time.formatTime2(timestamp, 'Y-M-D h:m:s')
使用wxs转换时间
使用wxs将日期(2021-06-30 11:22:33)转换为短时间(刚刚/1分钟前/2小时前/11:22:33/2021-06-30)
filter.wxs
var formatNumber = function (n) {
n = n.toString()
return n[1] ? n : '0' + n
}
var string2time = function (string) {
console.log(string)
var fmt1 = string.substring(0, 19);
var reg = getRegExp("-", "g");
var fmt2 = string.replace(reg, '/');
return getDate(fmt2);
}
/**
* 时间戳转化为年 月 日 时 分 秒
* number: 传入时间戳
* format:返回格式,支持自定义,但参数必须与formateArr里保持一致
*/
var timestamp2string = function (number, format = "Y-M-D h:m:s") {
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
var returnArr = [];
var date = getDate(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 = 0; i < returnArr.length; i++) {
format = format.replace(formateArr[i], returnArr[i]);
}
return format;
}
//将时间戳转换为几分钟前、几小时前
function timeago(timestr) {
if (timestr == null) {
return "";
}
// 这里融合了上面的自定义时间格式,“format”就是干这个用的
// timeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳。13位数的都是时间毫秒。
var time = string2time(timestr);
var timeStamp = time.getTime()/1000;
var day = time.getDate();
var minute = 60; //把分,时,天,周,半个月,一个月用毫秒表示
var hour = minute * 60;
var nowTime = getDate(); //获取当前时间
var nowTimeStamp = nowTime.getTime()/1000;
var nowDay = nowTime.getDate();
var diffValue = nowTimeStamp - timeStamp;//时间差
if (diffValue < 0) {
return timestamp2string(timeStamp, 'Y-M-D');
}
var minC = diffValue / minute; //计算时间差的分,时
var hourC = diffValue / hour;
var result = '';
if (nowDay != day) {
result = timestamp2string(timeStamp, 'Y-M-D')
} else if (hourC >= 6) {
result = timestamp2string(timeStamp, 'h:m:s')
} else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
} else if (minC >= 1 && minC {filter.timeago(created_at)}}
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?