date-format-parse
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.7 • Public • Published

    date-format-parse

    build:passed Badge npm MIT

    Lightweight date format and parse. Meant to replace the primary functions of format and parse of momentjs.

    NPM

    $ npm install date-format-parse --save

    Usage

    Format

    Format Date to String.

    import { format } from 'date-format-parse';
    
    format(new Date(), 'YYYY-MM-DD HH:mm:ss.SSS');
    
    // with locale, see locale config below
    const obj = { ... }
    
    format(new Date(), 'YYYY-MM-DD', { locale: obj })

    Parse

    Parse String to Date

    import { parse } from 'date-format-parse';
    
    parse('2019-12-10 14:11:12', 'YYYY-MM-DD HH:mm:ss'); // new Date(2019, 11, 10, 14, 11, 12)
    
    // with backupDate, default is new Date()
    parse('10:00', 'HH:mm', { backupDate: new Date(2019, 5, 6) }) // new Date(2019, 5, 6, 10)
    
    // with locale, see locale config below
    const obj = { ... }
    
    parse('2019-12-10 14:11:12', 'YYYY-MM-DD HH:mm:ss', { locale: obj });

    Locale

    interface Locale {
      months: string[];
      monthsShort: string[];
      weekdays: string[];
      weekdaysShort: string[];
      weekdaysMin: string[];
      meridiem?: (hours: number, minutes: number, isLowercase: boolean) => string;
      meridiemParse?: RegExp;
      isPM?: (input: string) => boolean;
      ordinal?: () => string;
    }
    
    const locale = {
      // MMMM
      months: [
        'January',
        'February',
        'March',
        'April',
        'May',
        'June',
        'July',
        'August',
        'September',
        'October',
        'November',
        'December',
      ],
      // MMM
      monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
      // dddd
      weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
      // ddd
      weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      // dd
      weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
      // [A a] format the ampm. The following is the default value
      meridiem: (h: number, m: number, isLowercase: boolean) => {
        const word = h < 12 ? 'AM' : 'PM';
        return isLowercase ? word.toLocaleLowerCase() : word;
      };
      // [A a] used by parse to match the ampm. The following is the default value
      meridiemParse: /[ap]\.?m?\.?/i,
      // [A a] used by parse to determine if the matching string is pm. The following is the default value
      isPM: (input) => {
        return (input + '').toLowerCase().charAt(0) === 'p';
      }
    };

    Tokens

    Uint Token output
    Year YY 70 71 ... 10 11
    YYYY 1970 1971 ... 2010 2011
    Month M 1 2 ... 11 12
    MM 01 02 ... 11 12
    MMM Jan Feb ... Nov Dec
    MMMM January February ... November December
    Day of Month D 1 2 ... 30 31
    DD 01 02 ... 30 31
    Day of Week d 0 1 ... 5 6
    dd Su Mo ... Fr Sa
    ddd Sun Mon ... Fri Sat
    dddd Sunday Monday ... Friday Saturday
    AM/PM A AM PM
    a am pm
    Hour H 0 1 ... 22 23
    HH 00 01 ... 22 23
    h 1 2 ... 12
    hh 01 02 ... 12
    Minute m 0 1 ... 58 59
    mm 00 01 ... 58 59
    Second s 0 1 ... 58 59
    ss 00 01 ... 58 59
    Fractional Second S 0 1 ... 8 9
    SS 00 01 ... 98 99
    SSS 000 001 ... 998 999
    Time Zone Z -07:00 -06:00 ... +06:00 +07:00
    ZZ -0700 -0600 ... +0600 +0700
    Week of Year w 1 2 ... 52 53
    ww 01 02 ... 52 53
    Unix Timestamp X 1360013296
    Unix Millisecond Timestamp x 1360013296123

    Install

    npm i date-format-parse

    DownloadsWeekly Downloads

    62,855

    Version

    0.2.7

    License

    MIT

    Unpacked Size

    213 kB

    Total Files

    320

    Last publish

    Collaborators

    • mxie