JSFiddle - React, Tailwind, and code Playground

by Osama Qassar

HTML

<div id="debug">

</div>

JavaScript

var _setDate = function(dt, p, flag) {
var debug = document.getElementById('debug')
  !dt ? dt = new Date() : dt;
  !p ? p = [0, 0, 0, 0, 0, 0] : p;

  var now = dt;
  
  
  var dateArray = [
      (p[0] > 0) ? new Date(now.setDate( now.getFullYear() + p[0] )) : new Date(now.getFullYea()),
      (p[0] > 0) ? new Date(now.setDate( now.getMonth() + p[0] )) : new Date(now.getMonth() + 1),
      (p[0] > 0) ? new Date(now.setDate( now.getDate() + p[0] )) : new Date(now.getDate()),
      (p[0] > 0) ? new Date(now.setDate( now.getHours() + p[0] )) : new Date(now.getHours()),
      (p[0] > 0) ? new Date(now.setDate( now.getMinutes() + p[0] )) : new Date(now.getMinutes()),
      (p[0] > 0) ? new Date(now.setDate( now.getSeconds() + p[0] )) : new Date(now.getSeconds()),
  ]
  
  var res = dateArray[0] + '-' + dateArray[1] + '-' + dateArray[2] + ' ' 
  					+ dateArray[3] + ':' + dateArray[4] + ':' + dateArray[5];
  
  debug.innerHTML = res
  
  if (flag == 'onlydate') {
    res = dateArray[0] + '-' + dateArray[1] + '-' + dateArray[2];
  }
  
  if (flag == 'onlyMonthYear') {
    res = dateArray[0] + '-' + dateArray[1]  ;
  }
  
  if (flag == 'ms') {
    res = new Date( dt ).getTime();
  }
  
  return res;
}
_setDate(false, [0, 0, 0, 0, 0, 0])