您当前的位置: 首页 >  小程序

培根芝士

暂无认证

  • 0浏览

    0关注

    446博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

小程序日期和时间戳转换

培根芝士 发布时间:2021-06-24 19:37:08 ,浏览量:0

日期转时间戳
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)}}            
关注
打赏
1660824269
查看更多评论
0.0574s