1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/azhai-datetime.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
datetime.min.js 3.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Ryan Liu Отправлено 09.03.2020 08:39 1f2a033
var SECOND_MILLS=1e3,HOUR_SECS=3600,DAY_SECS=86400,ZONE_HOURS=8;Date.today=function(){var e=new Date;return e.toNow().toMidnight(),e.getTime()},Date.prototype.toNow=function(){return this.setTime(Date.now()),this},Date.prototype.toMidnight=function(){return this.setHours(0),this.setMinutes(0),this.setSeconds(0),this.setMilliseconds(0),this},Date.prototype.secsAgo=function(e){return e=e?+e:0,new Date(this.getTime()-e*SECOND_MILLS)},Date.prototype.daysAgo=function(e,t){e=e?+e:1;var a=this.secsAgo(e*DAY_SECS);return t?a.toMidnight():a},Date.prototype.monthBegin=function(e){e=e?+e:0;var t=this.getDate()-1-e;return this.daysAgo(t,!0)},Date.prototype.getDaysOfYear=function(){var e=new Date(this.getFullYear(),0,1),t=this.getTime()-e.getTime();return parseInt(t/DAY_SECS)+1},Date.prototype.getWeeksOfYear=function(e){var t=this.getDaysOfYear()-1;if(0<t%7){var a=new Date(this.getFullYear(),0,1);t+=e?(a.getDay()+6)%7:a.getDay()}return parseInt(t/7)},Date.prototype.strftime=function(e,g){if(!e)return this.secsAgo(0-ZONE_HOURS*HOUR_SECS).toISOString().substr(0,16).replace("T"," ");g=g&&g.startsWith("zh")?"zh":"en";function u(e,t){var a=t-e.toString().length;return(a&&0<a?"0".repeat(a):"")+e}e=(e=(e=(e=(e=(e=e.replace("%F","%Y-%m-%d")).replace(/%D|%x/,"%m/%d/%y")).replace(/%T|%X/,"%H:%M:%S")).replace("%R","%H:%M")).replace("%r","%H:%M:%S %p")).replace("%c","%a %b %e %H:%M:%S %Y");var l=this;return e.replace(/%[A-Za-z%]/g,function(e){var t=e;switch(e){case"%%":t="%";break;case"%Y":case"%G":t=l.getFullYear();break;case"%y":t=l.getFullYear()%100;break;case"%C":t=l.getFullYear()/100;break;case"%m":case"%n":t=l.getMonth()+1;break;case"%B":g=g.startsWith("en")?"english":g;case"%b":var a=l.getMonth();t=local_labels.monthes[g][a];break;case"%d":case"%e":t=l.getDate();break;case"%j":t=l.getDaysOfYear();break;case"%U":case"%W":var r=l.getWeeksOfYear("%W"===e);t=u(r,2);break;case"%w":t=l.getDay();case"%u":t=0===t?7:t;break;case"%A":g=g.startsWith("en")?"english":g;case"%a":var s=l.getDay();t=local_labels.weekdays[g][s];break;case"%H":case"%k":t=l.getHours();break;case"%I":case"%l":t=l.getHours(),t%=12;break;case"%M":t=l.getMinutes();break;case"%S":t=l.getSeconds();break;case"%s":t=parseInt(l.getTime()/SECOND_MILLS);break;case"%f":var n=l.getMilliseconds();t=u(1e3*n,6);break;case"%P":g=g.startsWith("en")?"english":g;case"%p":var o=l.getHours();t=local_labels.meridians[g][o<12?0:1];break;case"%z":var i=l.getTimezoneOffset(),c=i<0?"-":"+";i=Math.abs(i),t=c+u(i/60,2)+u(i%60,2)}return"%C"!==e&&"%y"!==e&&"%m"!==e&&"%d"!==e&&"%H"!==e&&"%M"!==e&&"%S"!==e||(t=u(t,2)),t.toString()})},Date.prototype.humanize=function(e){e=e&&e.startsWith("zh")?"zh":"en";var t=this.strftime("",e),a=(Date.today()-this.toMidnight().getTime())/SECOND_MILLS/DAY_SECS;if(a<=-10||10<=a)return t;var r=local_labels.dayagos[e];return(0==a||1==a?r[a]:-1==a?r[2]:2<=a?a+r[3]:a+r[4])+t.substr(10,6)};var local_labels={monthes:{english:["January","February","March","April","May","June","July","August","September","October","November","December"],en:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],zh:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},weekdays:{english:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],zh:["","","","","","",""]},meridians:{english:["a.m.","p.m."],en:["AM","PM"],zh:["上午","下午"]},dayagos:{english:["Today","Yesterday","Tomorrow"," days ago"," days late"],en:["Today","Yesterday","Tomorrow"," days ago"," days late"],zh:["今天","昨天","明天","天前","天后"]}};

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/azhai-datetime.js.git
git@api.gitlife.ru:oschina-mirror/azhai-datetime.js.git
oschina-mirror
azhai-datetime.js
azhai-datetime.js
master