微信小程序中时间戳和日期相互转换的问题

作者:猪哥 2018-07-11

在微信开发小程序时,后台传入的诗句可能是 时间戳 而不是日期或者需要把日期转换成时间戳来做出相应的处理时我们将用到时间戳和日期的相互转换微信小程序里,时间戳转化为日期格式,支持自定义、拷贝至项目utils/utils.js中,并注意在js中声明下;

module.exports = {
  formatTime: formatTime, // 日期转时间戳
  formatTimeTwo: formatTimeTwo // 时间戳转日期
}

utils/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
}
/** 
 * 时间戳转化为年 月 日 时 分 秒 
 * number: 传入时间戳 
 * format:返回格式,支持自定义,但参数必须与formateArr里保持一致 
*/
function formatTimeTwo(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 = {
  formatTime: formatTime,
  formatTimeTwo: formatTimeTwo 
}

然后就是在我们的其他地方做出调用 

在js 的 中调用如下,首先要先引入 until js

var time = require('../../utils/util.js');
 var sjc = 1488481383;
  console.log(time.formatTime(sjc,'Y/M/D h:m:s'));
  console.log(time.formatTime(sjc, 'h:m'));

得到的效果如下:

2017/03/03 03:03:03
03:03

相关文章

精彩推荐