JSFiddle - React, Tailwind, and code Playground
by bryangrimes
HTML
<script src="http://momentjs.com/downloads/moment.min.js"></script>
JavaScript
console.clear();
var a = 9010152;
console.log('sending in a: ' + a);
console.log(doit(a));
var b = '3/2/2017';
console.log('sending in b: ' + b);
console.log(doit(b));
var c = '3/27/2017';
console.log('sending in c: ' + c);
console.log(doit(c));
var d = '2017-03-07T00:00:00';
console.log('sending in d: ' + d);
console.log(doit(d));
var d2 = '2017-04-08T22:37:01.730000';
console.log('sending in d: ' + d2);
console.log(doit(d2));
var d3 = '2017-04-07T00:34:13.097000';
console.log('sending in d: ' + d3);
console.log(doit(d3));
var d4 = '2017-04-09T02:49:54.750000';
console.log('sending in d: ' + d4);
console.log(doit(d4));
var e = '54 S VERNON ST';
console.log('sending in e: ' + e);
console.log(doit(e));
var f = 63948237;
console.log('sending in f: ' + f);
console.log(doit(f));
var g = 12314923700;
console.log('sending in g: ' + g);
console.log(doit(g));
var h = 60246140;
console.log('sending in h: ' + h);
console.log(doit(h));
var i = '11401 BRYANT RD';
console.log('sending in i: ' + i);
console.log(doit(i));
function doit(val){
if (!moment(val, 'MM/DD/YYYY', true).isValid()) {
console.log('not MM/DD/YYYY: ' + val);
if(moment(val, 'YYYY-MM-DDTHH:mm:ss', true).isValid() ||
moment(val, 'YYYY-MM-DDTHH:mm:ss.SSSSS', true).isValid()){
console.log('****valid semi-ISO******: ' + val);
val = moment(val).format('MMMM D, YYYY');
} else {
console.log('...but not a valid semi-ISO: ' + val);
}
} else {
console.log('looks like a MM/DD/YYYY date: ' + val);
}
return val
}