微信小程序--时间戳使用

时间戳

注:时间戳包括10位和13位两种,小程序中默认生成的时间戳是13位的。两者的区别是精度不同,13位精确到毫秒,10位精确到秒。实际上,13位时间戳只是比10位的末尾多了000,如果想要转化只要乘除1000即可。

时间戳转日期

在utils.js中定义函数
在这里插入图片描述

//时间戳转日期
function js_date_time(number, format) {
  var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
  var returnArr = [];
  number = number/1000;
  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 = {
  js_date_time: js_date_time //时间戳
}

调用举例:

example.js

var util = require('../../utils/util.js');
var time = util.js_date_time('要转化的时间戳', 'Y/M/D h:m:s');

日期转时间戳

var time = new Date('日期'.getTime()),

注:此处的日期应该为
在这里插入图片描述
如果不是,需要转化成这个格式后再使用

通过生日时间戳计算当前年龄

考虑到用户年龄随时间变化,因此数据库中存的是用户的生日(年、月、日),格式为时间戳。
前端需要根据生日,计算显示出用户现在的年龄。

var util = require('../../utils/util.js');

//获取当前时间
var time1 = util.formatTime(new Date());
    time1 = new Date(time1).getTime();
//定义当前时间数组、生日时间数组
var nowArray = util.js_date_time(time1, 'Y/M/D').split('/');
var birthArray = util.js_date_time(this.data.year, 'Y/M/D').split('/');
//计算年龄
var old = nowArray[0] - birthArray[0];
if (nowArray[1] < birthArray[1]) {
   old = old - 1;
 }
else if (nowArray[1] == birthArray[1]) {
  if (nowArray[2] < birthArray[2]) {
    old = old - 1;
  }
}

你可能感兴趣的:(前端笔记)