javascript - 如何在 JavaScript 中获得两个月(YYYYMM)之间的差异?

标签 javascript date

var frommonth="201912";
var tomonth="201810";

从以上两个月中,我如何在 JavaScript 中获得两个月之间的差异?

var date1 = new Date(fromdate);
var date2 = new Date(todate);
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 

var fromYear=date1.getFullYear();
var toYear=date2.getFullYear();
var diffyear =toYear-fromYear;

最佳答案

new Date()不解析YYYYMM。它将201912视为年份

所以使用match()来解析YYYYMM

var from = "201912";
var to = "201810";

function parseMonth(str) {
  return str.match(/(\d{4})(\d{2})/).splice(1).map(Number)
}

var [fromY, fromM] = parseMonth(from)
var [toY, toM] = parseMonth(to)

var result = (fromY - toY) * 12 + (fromM - toM)

console.log(result, 'months')

关于javascript - 如何在 JavaScript 中获得两个月(YYYYMM)之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59405089/

相关文章:

sql-server - 仅工作日的 T-SQL 日期差异

javascript - 日期验证 - 如何解决 Javascript 的自动更正日期问题?

python - 将日期时间日期转换为字符串 Python Dataframe 时的SettingWithCopyWarning 消息

javascript - Firefox 37 和 IE9 是否支持任何类型的分词样式?

javascript - 具有相同类别的特定项目的褪色背景颜色

javascript - Highcharts - 更改悬停点的颜色

java - 确定时间是满小时还是半小时

javascript - 输入内联编辑 clickOutside

javascript - 如何将按钮保持在动态变化的 div 的底部中心?

java.text.ParseException : Unparseable date :"01/11/2012 08:00:00" 异常