forked from SimonWaldherr/disTime.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisTime.min.js
13 lines (8 loc) · 8.56 KB
/
disTime.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
/* * * * * * * * * *
* disTime .js *
* Version 0.9.0 *
* License: MIT *
* Simon Waldherr *
* * * * * * * * * */
function trim11(e){"use strict";var n;for(n=(e=e.replace(/^\s+/,"")).length-1;n>=0;n--)if(/\S/.test(e.charAt(n))){e=e.substring(0,n+1);break}return e}function checkForAnd(e,n,o){"use strict";return e&&trim11(n)!==o.words.preAgo&&trim11(n)!==o.words.inFuture?" "+o.words.and+" ":""}var disTimeRepeater,disTimeObject,disTime;disTimeObject={parseTimestamp:function(e,n,o,a){"use strict";function t(e){return parseInt(e,10)}var u,s,r,d,i,m,g,c,p;return void 0===a&&(a=!1),s=o>n?o-n:n-o,u=o>n?" "+e.words.preAgo+" ":" "+e.words.inFuture+" ",s>31536e3&&(u+=(r=t(t(s)/t(31536e3)))+" "+languages.declOfNum(e.mode,r,e.year)),(s<31536e3&&s>2419200||s>31536e3&&a&&0!==t(s%31536e3/2419200))&&(u+=checkForAnd(a,u,e),u+=(d=t(s%31536e3/2419200))+" "+languages.declOfNum(e.mode,d,e.month),s<31536e3&&a&&0!==t(s%2419200/86400)&&(u+=checkForAnd(a,u,e),u+=(m=t(s%2419200/86400))+" "+languages.declOfNum(e.mode,m,e.day))),(s<2419200&&s>604800||s<10368e3&&s>2419199&&a&&0!==t(s%2592e3/2419200))&&(u+=checkForAnd(a,u,e),u+=(i=t(s%2419200/604800))+" "+languages.declOfNum(e.mode,i,e.week)),(s<604800&&s>86399||s<2419200&&s>604799&&a&&0!==t(s%604800/86400))&&(u+=checkForAnd(a,u,e),u+=(m=t(s%2419200/86400))+" "+languages.declOfNum(e.mode,m,e.day)),(s<86400&&s>3599||s<604800&&s>86399&&a&&0!==t(s%86400/3600))&&(u+=checkForAnd(a,u,e),u+=(g=t(s%86400/3600))+" "+languages.declOfNum(e.mode,g,e.hour)),(s<3600&&s>59||s<86400&&s>3599&&a&&0!==t(s%3600/60))&&(u+=checkForAnd(a,u,e),u+=(c=t(s%3600/60))+" "+languages.declOfNum(e.mode,c,e.minute)),(s<60||s<3600&&s>59&&a&&s%60!=0)&&(u+=checkForAnd(a,u,e),u+=(p=s%60)+" "+languages.declOfNum(e.mode,p,e.second)),u+=o>n?" "+e.words.postAgo:" "+e.words.postInFuture}},disTime=function(e,n,o){"use strict";var a,t,u,s,r,d,i;for(void 0===o&&(o=!1),void 0===n&&(n=navigator.language||navigator.userLanguage),void 0===languages[n]&&(n=void 0!==languages[n.split("-")[0]]?n.split("-")[0]:"en"),d=parseInt(Date.now()/1e3,10)+e,t=(a=document.getElementsByClassName("distime")).length,u=d,s=0;s<t;s+=1)i=parseInt(a[s].getAttribute("data-time"),10),a[s].innerHTML=disTimeObject.parseTimestamp(languages[n],i,d,o),r=d>i?d-i:i-d,a[s].hasAttribute("alt")||a[s].setAttribute("title",new Date(1e3*i).toString()),r<u&&(u=r);window.clearTimeout(disTimeRepeater),disTimeRepeater=u<61||o&&u<3601?setTimeout(disTime,1e3,e,n,o):u<3601||o&&u<86400?setTimeout(disTime,6e4,e,n,o):u<86400||o?setTimeout(disTime,3600001,e,n,o):setTimeout(disTime,86400001,e,n,o)};var languages={declOfNum:function(e,n,o){"use strict";var a;return 2!==e?1===n?o[0]:o[1]:(a=[2,0,1,1,1,2],o[n%100>4&&n%100<20?2:a[n%10<5?n%10:5]])},int:{words:{preAgo:"",postAgo:"ago",and:" ",inFuture:"in",postInFuture:""},mode:1,year:["Y","Y"],month:["M","M"],week:["W","W"],day:["D","D"],hour:["h","h"],minute:["min","min"],second:["sec","sec"]},en:{words:{preAgo:"",postAgo:"ago",and:"and",inFuture:"in",postInFuture:""},mode:1,year:["year","years"],month:["month","months"],week:["week","weeks"],day:["day","days"],hour:["hour","hours"],minute:["minute","minutes"],second:["second","seconds"]},de:{words:{preAgo:"vor",postAgo:"",and:"und",inFuture:"in",postInFuture:""},mode:1,year:["Jahr","Jahren"],month:["Monat","Monaten"],week:["Woche","Wochen"],day:["Tag","Tagen"],hour:["Stunde","Stunden"],minute:["Minute","Minuten"],second:["Sekunde","Sekunden"]},nl:{words:{preAgo:"",postAgo:"geleden",and:"en",inFuture:"in",postInFuture:""},mode:1,year:["jaar","jaar"],month:["maand","maanden"],week:["week","weken"],day:["dag","dagen"],hour:["uur","uren"],minute:["minuut","minuten"],second:["seconde","seconden"]},id:{words:{preAgo:"",postAgo:"yang lalu",and:"dan",inFuture:"dalam",postInFuture:""},mode:1,year:["tahun","tahun"],month:["bulan","bulan"],week:["minggu","minggu"],day:["hari","hari"],hour:["jam","jam"],minute:["menit","menit"],second:["detik","detik"]},it:{words:{preAgo:"",postAgo:"fa",and:"e",inFuture:"in",postInFuture:""},mode:1,year:["anno","anni"],month:["mese","mesi"],week:["settimana","settimane"],day:["giorno","giorni"],hour:["ora","ore"],minute:["minuto","minuti"],second:["secondo","secondi"]},es:{words:{preAgo:"",postAgo:"antes",and:"y",inFuture:"en",postInFuture:""},mode:1,year:["año","años"],month:["mes","meses"],week:["semana","semanas"],day:["día ","días"],hour:["hora","horas"],minute:["minuto","minutos"],second:["segundo","segundos"]},fr:{words:{preAgo:"il ya",postAgo:"",and:"et",inFuture:"dans ",postInFuture:""},mode:1,year:["an","ans"],month:["mois","mois"],week:["semaine","semaines"],day:["jour","jours"],hour:["heure","heures"],minute:["minute","minutes"],second:["seconde","secondes"]},ms:{words:{preAgo:"selepas",postAgo:"",and:"dan",inFuture:"akan",postInFuture:""},mode:1,year:["tahun","tahun"],month:["bulan","bulan"],week:["minggu","minggu"],day:["hari","hari"],hour:["jam","jam"],minute:["minit","minit"],second:["saat","saat"]},oc:{words:{preAgo:"fa",postAgo:"",and:"e",inFuture:"d’aquí",postInFuture:""},mode:1,year:["an","ans"],month:["mes","meses"],week:["setmana","setmanas"],day:["jorn","jorns"],hour:["ora","oras"],minute:["minuta","minutas"],second:["segonda","segondas"]},pt:{words:{preAgo:"",postAgo:"atrás",and:"e",inFuture:"em",postInFuture:""},mode:1,year:["ano","anos"],month:["mês","meses"],week:["semana","semanas"],day:["dia","dias"],hour:["hora","horas"],minute:["minuto","minutos"],second:["segundo","segundos"]},ro:{words:{preAgo:"acum",postAgo:"",and:"si",inFuture:"peste",postInFuture:""},mode:1,year:["an","ani"],month:["luna","luni"],week:["saptamana","saptamani"],day:["zi","zile"],hour:["ora","ore"],minute:["minut","minute"],second:["secunda","secunde"]},ta:{words:{preAgo:"",postAgo:"முன்பு",and:"மற்றும்",inFuture:"இல்",postInFuture:""},mode:1,year:["ஆண்டு","ஆண்டுகள்"],month:["மாதம்","மாதங்கள்"],week:["வாரம்","வாரங்கள்"],day:["நாள்","நாட்கள்"],hour:["மணி","மணி"],minute:["நிமிடம்","நிமிடங்கள்"],second:["வினாடி","வினாடிகள்"]},ru:{words:{preAgo:"",postAgo:"назад",and:"и",inFuture:"через",postInFuture:""},mode:2,year:["год","года","лет"],month:["месяц","месяца","месяцев"],week:["неделя","недели","недель"],day:["день","дня","дней"],hour:["час","часа","часов"],minute:["минуту","минуты","минут"],second:["секунду","секунды","секунд"]},uk:{words:{preAgo:"",postAgo:"тому",and:"",inFuture:"за",postInFuture:""},mode:2,year:["рік","роки","років"],month:["місяць","місяці","місяців"],week:["тиждень","тижня","тижнів"],day:["день","дні","днів"],hour:["годину","години","годин"],minute:["хвилину","хвилини","хвилин"],second:["секунду","секунди","секунд"]},hi:{words:{preAgo:"",postAgo:"पूर्व",and:"और",inFuture:"में",postInFuture:""},mode:1,year:["वर्ष","वर्षों"],month:["महीना","महीने"],week:["सप्ताह","सप्ताह"],day:["दिन","दिन"],hour:["घंटा","घंटे"],minute:["मिनट","मिनट"],second:["सेकंड","सेकंड"]},no:{words:{preAgo:"",postAgo:"siden",and:"og",inFuture:"om",postInFuture:""},mode:1,year:["år","år"],month:["måned","måneder"],week:["uke","uker"],day:["dag","dager"],hour:["time","timer"],minute:["minutt","minutter"],second:["sekund","sekunder"]},pl:{words:{preAgo:"",postAgo:"temu",and:"i",inFuture:"za",postInFuture:""},mode:1,year:["rok","lata"],month:["miesiąc","miesiące"],week:["tydzień","tygodni"],day:["dzień","dni"],hour:["godzina","godziny"],minute:["minuta","minuty"],second:["sekunda","sekundy"]},sv:{words:{preAgo:"",postAgo:"sedan",and:"och",inFuture:"om",postInFuture:""},mode:1,year:["år","år"],month:["månad","månader"],week:["vecka","veckor"],day:["dag","dagar"],hour:["timme","timmar"],minute:["minut","minuter"],second:["sekund","sekunder"]},tl:{words:{preAgo:"",postAgo:"ang nakalipas",and:"at",inFuture:"sa",postInFuture:""},mode:1,year:["taon","taon"],month:["buwan","buwan"],week:["linggo","linggo"],day:["araw","araw"],hour:["oras","oras"],minute:["minuto","minuto"],second:["segundo","segundo"]},tr:{words:{preAgo:"",postAgo:"önce",and:"ve",inFuture:"",postInFuture:"içinde"},mode:1,year:["yıl","yıl"],month:["ay","ay"],week:["hafta","hafta"],day:["gün","gün"],hour:["saat","saat"],minute:["dakika","dakika"],second:["saniye","saniye"]}};
/* fnord */