/* Copyright (c) 2014, Yahoo! Inc. All rights reserved. Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ /* jslint esnext: true */ var round = Math.round; function daysToYears(days) { // 400 years have 146097 days (taking into account leap year rules) return days * 400 / 146097; } export default function (from, to) { // Convert to ms timestamps. from = +from; to = +to; var millisecond = round(to - from), second = round(millisecond / 1000), minute = round(second / 60), hour = round(minute / 60), day = round(hour / 24), week = round(day / 7); var rawYears = daysToYears(day), month = round(rawYears * 12), year = round(rawYears); return { millisecond : millisecond, second : second, 'second-short' : second, minute : minute, 'minute-short' : minute, hour : hour, 'hour-short' : hour, day : day, 'day-short' : day, week : week, 'week-short' : week, month : month, 'month-short' : month, year : year, 'year-short' : year }; }