JavaScript date formatter in 107 characters

Online demo for https://gist.github.com/atesgoral/1005948

by atesgoral

HTML

<pre id="out"></pre>

JavaScript

const formatDate = (d,f)=>f.replace(/{(.+?):?(\d*)}/g,(v,c,p)=>{for(v=d["get"+c]()+/h/.test(c)+"";v.length<p;v=0+v);return v});

document.getElementById('out').innerHTML = [
	formatDate(new Date(), "{FullYear}-{Month:2}-{Date:2} {Hours:2}:{Minutes:2}:{Seconds:2}"),
	formatDate(new Date(), "{Hours:2}:{Minutes:2}:{Seconds:2}.{Milliseconds:3}"),
	formatDate(new Date(), "{Month}/{Date}/{FullYear}")
].join('\n');