Wondering what’s next for npm?Check out our public roadmap! »

    This package has been deprecated

    Author message:

    Package is no longer maintained

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/moment-shortformat package

    2.1.0 • Public • Published

    Short Date Formatter Build Status npm

    moment-shortformat.js is an extension to moment.js that formats dates in a short format like it's used on ResearchGate.

    Absolute time difference output of moment.short()
    0 to 59 seconds 1s to 59s
    1 to 59 minutes 1m to 59m
    1 to 23 hours 1h to 23h
    1 to 6 days 1d to 6d
    >= 7 days but same year e.g Sep 3 or Feb 28
    >= 7 days but different year e.g Sep 3, 2023 or Feb 28, 1989

    It works for both negative and positive time differences.


    Works with AMD, CommonJS and browser environments.

    // AMD
    define(['moment-shortformat'], function(moment) { moment().short() });
    // CommonJS
    var moment = require('moment-shortformat');
    <!-- Browser -->
    <script type="text/javascript" src="/moment.js"></script>
    <script type="text/javascript" src="/moment-shortformat.js"></script>
    <script type="text/javascript">

    Works on both past and future dates.


    moment().short(Boolean, now)

    Short formatting the time difference and prefixing or suffixing the formatted time by using moment.js relativeTime templates future and past. (default in %s and %s ago)

    If the boolean parameter is set to true the date format will not be prefixed or suffixed.

    If the now parameter is set to a moment() it will use that as the "now" difference


    Formats time relative to current time.

    moment(moment() + (36e5 * 5)).short() // in 5h
    moment(moment() - (36e5 * 5)).short() // 5h ago
    moment(moment() + (36e5 * 5)).short(true) // 5h
    moment(moment() - (36e5 * 5)).short(true) // 5h

    Times greater than 1 week are converted to dates like Mar 7, or if the year of the date does not match the current year it is convert to Mar 7, 2031

    moment(moment() + 6048e5).short()
    // Mar 7

    Using a different "now"

    moment(moment() + (36e5 * 5)).short(false, moment() + (36e5 * 3)) // in 2h


    npm i moment-shortformat

    DownloadsWeekly Downloads






    Last publish


    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar