-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathindex.html
1 lines (1 loc) · 8.27 KB
/
index.html
1
<!DOCTYPE HTML><title>Date Calculator</title><meta charset= utf-8 /><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Date calculator"><meta name="keywords" content="calculate, dates"><meta name="author" content="Russell Baylis, Sunmock Yang"><meta name="robots" content="index, follow"> <style>*{margin:0;box-sizing:border-box}body,html{padding:0}body{background:linear-gradient(to bottom right,#23ae93 0,#004482 100%);font-family:-apple-system,BlinkMacSystemFont,San Francisco,Roboto,Segoe UI,Helvetica Neue,sans-serif;color:white;-webkit-font-smoothing:antialiased;padding:0 25px;box-sizing:border-box;overflow-x:hidden;line-height:1.5;min-height:100vh}section{padding:50px 0;border-bottom:1px solid rgba(255,255,255,0.3)}ul{padding:1em 0 0 1em}li{margin-bottom:10px}.wrap{max-width:600px;margin:0 auto}h1{font-size:40px;font-weight:bold;text-shadow:0 1px 1px rgba(0,0,0,0.4);line-height:1}h2{font-size:20px}.input-wrap:nth-child(1){padding-bottom:60px}.hidden{display:none}.result-formats{padding-top:60px}input{width:100%;box-sizing:border-box;padding:20px 30px;font-size:25px;color:#272c30;border-radius:6px;border:0;box-shadow:0 2px 4px rgba(0,0,0,0.2)}input:focus{box-shadow:0 2px 4px rgba(0,0,0,0.75),inset 0 0 0 2px white,inset 0 0 0 5px black;outline:0}label{display:block;padding-bottom:15px}a{text-decoration:none;background:linear-gradient(90deg,rgba(255,255,255,0.5) 0,rgba(255,255,255,0.8) 100%);background-position:left 1.25em;background-repeat:no-repeat;display:inline-block;color:white;background-size:100% 1px}h2+p{opacity:.7}.mdl{position:fixed;z-index:999;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0}.mdl .bg{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:1}.mdl .content{position:relative;z-index:2;padding-top:50px;padding-bottom:50px}.mdl-visible .mdl{opacity:1;pointer-events:all}.mdl .wrap{padding:0 25px}.mdl-visible .bg{pointer-events:all}.mdl-visible #main-wrap{-webkit-filter:blur(10px)}.mdl .close{position:absolute;top:0;right:10px;font-size:60px;font-weight:normal;line-height:1;color:white;z-index:3;cursor:pointer;background-color:transparent;border:0;padding:0}.submit{background-color:white;margin-top:60px}</style><div id="main-wrap" class="wrap"> <section><h1>Date Calculator</h1> </section> <section><form action="/"><div class="input-wrap"> <label for="d1"><h2>Start date</h2> </label> <input id="d1" name="d1" placeholder="E.g. Today, 2015/12/30, January 12, 2015" value="$$INPUT1$$"/></div><div class="input-wrap"> <label for="d2f"><h2>End date or duration</h2><p>Calculate date, by adding or subtracting time. <a class="mdl-launch hidden" href="#" id="mdlO">View examples</a></p> </label> <input id="d2" name="d2" placeholder="Eg: 12/30/2016, +100 days, -50 years" value="$$INPUT2$$"/></div> <noscript><input class="submit" type="submit" value="Submit"/></noscript></form> </section> <section><div class="result-header"><h1 id="result1">$$RESULT1$$</h1><p id="sub">$$RESULTSUB$$</p></div><div class="result-formats $$OTHERTIMEFORMATSVISIBILITY$$" id="otherSection"><h2>Other time formats</h2><ul id="otherList" class="subdued"> $$RESULTTIMEFORMATS$$</ul></div> </section> <section><p>Take a look at the source code on <a target="_blank" href="https://github.com/sunmockyang/date-calculator">GitHub.</a></p><p>All 3.7KB Made with Love by <a target="_blank" href="http://sunmock.com">Sunny</a> and <a target="_blank" href="http://imrusty.com">Rusty.</a></p> </section></div><div class="mdl"> <button class="close" id="mdlX">×</button><div class="wrap"><div class="content"><div class="header"><h1>Other Examples</h1></div><div class="body"><ul><li>+ 400 years</li><li>+ 6 months</li><li>5 days</li><li>- 5 weeks, 2 days</li><li>2015/12/30</li><li>12/30/2015</li><li>October 12, 1991</li><li>Sep. 5, 2006</li><li>Today</li><li>Tomorrow</li></ul></div></div><div class="bg"></div></div></div> <script>var global=null;var DC=function(){function e(e,a){return e&&a?a instanceof Date?t(e,a):n(e,a):0}function n(e,n){return new Date(e.getFullYear()+(n[0]||0),e.getMonth()+(n[1]||0),e.getDate()+(n[2]||0))}function t(e,n){e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=new Date(n.getFullYear(),n.getMonth(),n.getDate());var r=e.getTime(),o=n.getTime();if(r>o)return t(n,e);var u=Math.round((o-r)/864e5),i=e.getFullYear(),l=n.getFullYear(),c=e.getMonth(),s=n.getMonth(),d=e.getDate(),f=n.getDate();d>f&&(f+=a(++c,i)),c>s&&(s+=12,i++);var g=l-i,m=s-c,h=f-d,v=[g,m,h,u];return v}function a(e,n){return new Date(n,e,0).getDate()}return e}();global&&(global.DC=DC);var DP=function(){function e(e){var o=e.toLowerCase(),i=0,l=o.match(/^\s*(\S)/m),c=o.match(u);return o.includes("today")?i=new Date:o.includes("tomorrow")||o.includes("tommorrow")?(i=new Date,i=new Date(i.getFullYear(),i.getMonth(),i.getDate()+1)):l&&l.length>0&&(l[0].match(/[\+|\-]/)||l[0].match(u))&&o.match(/[a-z]/)?i=a(o):null!==r(o)?i=n(o):c&&c.length>=3&&(i=t(o)),i}function n(e){var n=e.match(u),t=n&&n[0]||1,a=n&&n[1]||(new Date).getFullYear(),o=0;return o=r(e),t>new Date(a,o+1,0).getDate()?null:new Date(a,o,t)}function t(e){var n=e.match(u),t=n[0],a=n[1],r=n[2];return o(a,t,r)||(r=n[0],t=n[1],a=n[2]),o(a,t,r)||(a=n[0],t=n[1],r=n[2]),o(a,t,r)||(r=n[0],a=n[1],t=n[2]),o(a,t,r)?new Date(r,t-1,a):null}function a(e){var n=[0,0,0],t=e.split(",");return operation=e.startsWith("-")?-1:1,t.forEach(function(e){var t=e.split(" "),a=(e.match(u)[0],2),r=1;t.forEach(function(e,n,t){u.test(e)||SU.forEach(function(n,t,o){e.startsWith(n)&&(e.startsWith("w")?(a=2,r=7):a=t)})}),n[a]+=operation*e.match(u)[0]*r}),[n[0],n[1],n[2]]}function r(e){var n=null;return SMN.some(function(t,a){return e.includes(t)&&(n=a)}),n}function o(e,n,t){var a=!(n>12||1e3>t||e>new Date(t,n,0).getDate());return a}var u=new RegExp(/[0-9]*?[0-9]+/g);return e}();global&&(global.DP=DP);var MN=["January","February","March","April","May","June","July","August","September","October","November","December"],SMN=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],Un=["year","month","day"],SU=["y","m","d","w"];global&&(global.MN=MN,global.SMN=SMN,global.Un=Un,global.SU=SU);var app=function(){function e(){var e=U("mdlO"),t=U("mdlX");d=U("d1"),f=U("d2"),p=U("sub"),M=U("result1"),b=U("otherSection"),w=U("otherList"),d.addEventListener("keyup",n),f.addEventListener("keyup",n),d.value=f.value="",e.onclick=t.onclick=u,e.classList.remove("hidden"),n()}function n(e){if(e&&13==e.keyCode&&(e.preventDefault(),f.focus()),g=d.value,m=f.value,h=DP(g),v=DP(m),D=DC(h,v),M.innerHTML=p.innerHTML=w.innerHTML="",b.classList.add("hidden"),D)if(D instanceof Date)M.innerHTML=a(D),p.innerHTML=a(h)+a(v);else{var n=t(Un[0],D[0],n);n+=t(Un[1],D[1],n),n+=t(Un[2],D[2],n,""===n),M.innerHTML=n+(D[0]>0||D[1]>0?" ("+t(Un[2],D[3],"")+")":""),p.innerHTML="Between "+r(h)+" \u2013 "+r(v),s(l([i(D[0],Un[0]),i(D[1],Un[1]),i(D[2],Un[2])])),s(l([i(12*D[0]+D[1],Un[1]),i(D[2],Un[2])])),s(l([i(Math.floor(D[3]/7),"week"),i(D[3]%7,Un[2])])),s(i(D[3],Un[2])),s(i(24*D[3],"hour")),s(i(1440*D[3],"minute")),s(i(86400*D[3],"second")),s(i(864e5*D[3],"millisecond")),""!==w.innerHTML&&b.classList.remove("hidden")}else if(M.innerHTML="Waiting for input...",""!==g||""!==m){var o=a(h,g),u=a(v,m);p.innerHTML=o+(o?" \u2013 ":"")+u}}function t(e,n,t,a){return n>0||a?(""===t?"":" ")+n+" "+(1!==n?e+"s":e):""}function a(e,n){return e instanceof Array?o(e):r(e,n)}function r(e,n){return e?MN[e.getMonth()]+" "+c(e.getDate())+", "+e.getFullYear():""===n?"No Date Entered":"Invalid Date"}function o(e){var n=e.reduce(function(e,n){return e+n},0),t=Math.abs.bind(Math),a=n>0?" +":" -";return a+=l([i(t(e[0]),Un[0]),i(t(e[1]),Un[1]),i(t(e[2]),Un[2])],!0)}function u(){document.body.classList.contains("mdl-visible")?document.getElementsByClassName("mdl-launch")[0].focus():document.getElementsByClassName("close")[0].focus(),document.body.classList.toggle("mdl-visible")}function i(e,n){var t="";return 0!=e&&(t=e+" "+n,1!==e&&(t+="s")),t}function l(e,n){if(""!=e[0]||n){var t="";return e.some(function(e,n,a){t+=(""!=t&&""!=e?", ":"")+e}),t}return""}function c(e){if(parseFloat(e)==parseInt(e)&&!isNaN(e)){var n=["th","st","nd","rd"],t=e%100;return e+(n[(t-20)%10]||n[t]||n[0])}return e}function s(e){if(""!==e){var n=document.createElement("li");n.innerHTML=e,w.appendChild(n)}}var d,f,g,m,h,v,D,M,b,w,p,U=document.getElementById.bind(document);return e}();window.onload=app;</script>