1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/components/humanedate.js

28 lines
1.1 KiB
JavaScript
Raw Normal View History

2018-10-23 01:05:09 +03:00
define(["datetime"], function(datetime) {
"use strict";
function humane_date(date_str) {
var format, time_formats = [
[90, "a minute"],
[3600, "minutes", 60],
[5400, "an hour"],
[86400, "hours", 3600],
[129600, "a day"],
[604800, "days", 86400],
[907200, "a week"],
[2628e3, "weeks", 604800],
[3942e3, "a month"],
[31536e3, "months", 2628e3],
[47304e3, "a year"],
[31536e5, "years", 31536e3]
],
dt = new Date,
date = datetime.parseISO8601Date(date_str, !0),
seconds = (dt - date) / 1e3,
i = 0;
for (seconds < 0 && (seconds = Math.abs(seconds)); format = time_formats[i++];)
if (seconds < format[0]) return 2 == format.length ? format[1] + " ago" : Math.round(seconds / format[2]) + " " + format[1] + " ago";
return seconds > 47304e5 ? Math.round(seconds / 47304e5) + " centuries ago" : date_str
}
return window.humane_date = humane_date, humane_date
});