首页 > 解决方案 > 重新排列日期 fromat

问题描述

有没有更好的方法来编写这段代码?我正在采用以string两种方式之一格式化的“日期”参数(在这种情况下是一个),mm/dd/yy'或者m/d/yy我需要重新格式化它看起来像这样yyyymmdd

functionName = function(date){

  var month = "", day = "", year = "";

  if(!date.length) return;
  else {        
    date.slice(0, 2) < 10 ? month = '0' + date.slice(0, 2) : month = date.slice(0, 2);
    date.slice(3, 5) < 10 ? day = '0' + date.slice(3, 5) : day = date.slice(3, 5);
    year = "20" + date.slice(6, 8); 
  }
  return year + month + day;
}

另外我应该如何检查日期是否在 1900 年代并相应地格式化?

标签: javascriptjquery

解决方案


没有办法从两位数的年份得出一整年,它缺少信息。

但是,您可以使用.split().padStart()简化您的功能

function FormatDate (date) {
  if (date) {
    date = date.split('/'); //date[0] = month, date[1] = day, date[2] = year
    return date[2] + date[0].padStart(2, '0') + date[1].padStart(2, '0');
  }
}

console.log(FormatDate('07/09/20')); //outputs 200709


推荐阅读