时间格式化函数

实现formatTime(dateStr, format)方法, 参数dateStr为date.toISOString()

参数format中支持 'YYYY','MM','M','DD','D','hh','h','mm','m','ss','s'

参考样例:
输入 formatTime('2016-08-29T02:32:03.863Z','YYYY年MM月DD日')

输出: 2016年08月29日

阅读 2.7k
3 个回答

moment 可以实现你的需求
moment('2016-08-29T02:32:03.863Z').format('YYYY年MM月DD日');

/**
 * 格式化毫秒时间戳
 *
 * @param {String, Number} timestamp (单位为豪秒)
 * @param {String} format (格式)
 *    format='YYYY-MM-DD'
 *    format='MM/DD hh:mm'
 * @returns {String} default return YYYY/MM/DD hh:mm:ss
 */
function formatTimestamp(timestamp, format = 'YYYY/MM/DD hh:mm:ss') {
  let time = Number.parseInt(timestamp, 10);
  let date = new Date(time);

  let year = date.getFullYear();
  let month = date.getMonth() + 1;
  let day = date.getDate();
  let hour = date.getHours();
  let minute = date.getMinutes();
  let second = date.getSeconds();

  month = month > 9 ? month : `0${month}`;
  day = day > 9 ? day : `0${day}`;
  hour = hour > 9 ? hour : `0${hour}`;
  minute = minute > 9 ? minute : `0${minute}`;
  second = second > 9 ? second : `0${second}`;

  return format
    .replace('YYYY', year)
    .replace('MM', month)
    .replace('DD', day)
    .replace('hh', hour)
    .replace('mm', minute)
    .replace('ss', second);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题