-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathclock.min.js
More file actions
7 lines (7 loc) · 2.4 KB
/
clock.min.js
File metadata and controls
7 lines (7 loc) · 2.4 KB
1
2
3
4
5
6
7
/*
clock.js v0.1 - Simple datetime add-on tools for JavaScript
Created by Ron Royston, https://rack.pub
https://github.com/rhroyston/clock-js
License: MIT
*/
var clock=function(){function d(){this.time=function(a){var b=h(a);if(b){var c=new Date(b),d=c.getHours(),e=("0"+c.getMinutes()).slice(-2);return d<12?d+":"+e+" AM":d-12+":"+e+" PM"}},this.weekday=function(b){var c=h(b);if(c)for(var d=new Date(c),e=0;e<a.length;e++)if(d.getDay()===e)return a[e]},this.day=function(a){var b=h(a);if(b)return new Date(b).getDate()},this.month=function(a){var c=h(a);if(c)for(var d=new Date(c),e=0;e<b.length;e++)if(d.getMonth()===e)return b[e]},this.year=function(a){var b=h(a);if(b)return new Date(b).getUTCFullYear()}}function e(){this.years=31536e6,this.months=2628002880,this.weeks=6048e5,this.days=864e5,this.hours=36e5,this.minutes=6e4,this.seconds=1e3}function f(a){var b=Math.floor(a/31536e3);return b>1?b+" years":(b=Math.floor(a/2592e3),b>1?b+" months":(b=Math.floor(a/86400),b>1?b+" days":(b=Math.floor(a/3600),b>1?b+" hours":(b=Math.floor(a/60),b>1?b+" minutes":Math.floor(a)+" seconds"))))}function h(a){var b="clock.js error",d={name:b,message:"expected unix timestamp as argument"};try{if(null==a||""==a)return c.now;if("string"==typeof a){if(a=a.replace(/\s/g,""),!/^\d+$/.test(a))throw d;a=Number(a)}if(new Date(a).getTime()>0)return a;throw d}catch(a){return console.log(a.name+" : "+a.message),null}}var a=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],b=["january","february","march","april","may","june","july","august","september","october","november","december"],c={};return c.what=new d,c.unit=new e,Object.defineProperty(c,"now",{get:function(){return Date.now()}}),Object.defineProperty(c,"time",{get:function(){var a=new Date,b=a.getHours(),c=("0"+a.getMinutes()).slice(-2);return b<12?b+":"+c+" AM":12==b?b+":"+c+" PM":b-12+":"+c+" PM"}}),Object.defineProperty(c,"weekday",{get:function(){for(var b=new Date,c=0;c<a.length;c++)if(b.getDay()===c)return a[c]}}),Object.defineProperty(c,"day",{get:function(){return(new Date).getDate()}}),Object.defineProperty(c,"month",{get:function(){for(var a=new Date,c=0;c<b.length;c++)if(a.getMonth()===c)return b[c]}}),Object.defineProperty(c,"year",{get:function(){return(new Date).getUTCFullYear()}}),c.since=function(a){var b=h(a);if(b){var c=Math.floor((new Date-b)/1e3);return f(c)}},c.until=function(a){var b=h(a);if(b){var c=Math.floor((b-new Date)/1e3);return f(c)}},c}();