Date
Created for humanreviews.me
by levchenko_d
HTML
12.13.2013 15:45
JavaScript
var Dates = (function () {
function ago(when, date) {
var x;
var month = ['января', 'февраля', 'марта', 'апреля', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
var ss = ['секунд', 'секунды', 'секунду'];
var ms = ['минут', 'минуты', 'минуту'];
var mins = date.getMinutes().toString().length > 1 ? date.getMinutes() : '0' + date.getMinutes();
var hrs = date.getHours().toString().length > 1 ? date.getHours() : '0' + date.getHours();
function parseEnd(sec, arr) {
var v = sec < 20 ? sec : parseInt(sec.toString().slice(sec.toString().length - 1));
return v < 1 && arr[0] || v > 0 && v < 2 && arr[2] || v > 1 && v < 5 && arr[1] || v > 4 && v < 21 && arr[0] || v > 20 && v < 22 && arr[2];
};
switch (when[0]) {
case 's':
x = when[1] < 10 && 'только что' || when[1] + ' ' + parseEnd(when[1], ss) + ' назад';
break
case 'm':
x = when[1] + ' ' + parseEnd(when[1], ms) + ' назад';
break
case 'h':
x = when[1] < 2 && '1 час назад' || when[1] < 5 && when[1] + ' часа назад' || when[1] < 24 && 'сегодня в ' + hrs + ':' + mins;
break
case 'd':
x = when[1] < 2 && 'вчера в ' + hrs + ':' + mins || when[1] < 5 && when[1] + ' дня назад в ' + hrs + ':' + mins || (new Date().getFullYear() - date.getFullYear()) < 1 && date.getDate() + ' ' + month[date.getMonth()] + ' в ' + hrs + ':' + mins || date.getDate() + ' ' + month[date.getMonth() - 1] + ' ' + date.getFullYear() + ' в ' + hrs + ':' + mins;
break
}
return x;
}
function handle(time) {
var ms = 1000 * 60 * 60 * 24;
var date = new Date(time);
var now = new Date();
var diff = function (date, now) {
var date = Date.UTC(date.getFullYear(), date.getMonth(),...