JSFiddle - React, Tailwind, and code Playground

by whelkaholism

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script>
<div id="t">

</div>

JavaScript

function getAgeOnSep1(dobstring, o)
{
	var dob = moment(dobstring);
	var now = new Date();
	var sep1 =new Date(now.getUTCFullYear(), 7, 31);
	//(now < sep1) && sep1.setUTCFullYear(sep1.getUTCFullYear() - 1);
  
  o && (o.d = moment(sep1));
  
  return moment(sep1).diff(dob, 'years');
};

function getSide(age)
{
	var side;
  
	for(side = 7; side <= 17; side++)
  {
  	if(side >= age)	
    	break;
  }
  
  return side < 18 ? 'U' + side : 'ADULT';
};

[	
	'2010-10-23',
	'2015-08-31',
	'2015-09-01',
  '2015-09-02',
  '2010-01-13',
].forEach(function(dob)
{
	var o = {};
	var age = getAgeOnSep1(dob, o);
	var s = moment(dob).format('Do MMM YYYY') + ' (' + age + 'y/o on ' + o.d.format('Do MMM YYYY')+ ') = ' + getSide(age);
  
  document.getElementById('t').innerHTML += s + '<br/>';
});