function dateTimeFormats(fmt) { var obj = { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', hour12: false, minute: '2-digit', second: '2-digit' } var o = { '/(y+)/i': 'year', '/(M+)/': 'month', '/(d+)/i': 'day', '/(h+)/i': 'hour', '/(m+)/': 'minute', '/(s+)/i': 'second' }; var s = { hour12: false, }; for (var k in o) { if (eval(k).test(fmt)) { s[o[k]] = obj[o[k]]; } }; console.log(s); } dateTimeFormats('yyyy.MM.dd hh:mm')