UNPKG

ninjs-lodash

Version:
91 lines (75 loc) 1.75 kB
/** * Date Utils * ninjs.lodash.date */ 'use strict' const _ = require('lodash') const moment = require('moment') exports = module.exports = { mo: mo, now: now, date: date, dateValid: dateValid, datef: datef, dateDiff: dateDiff, nowDiff: nowDiff, epoch: epoch, unix: unix, cal: cal, fromNow: fromNow, utc: utc, utcf: utcf, local: local, localf: localf } // _.assign(_, { date: exports }) _.mixin(exports) function mo(src) { return moment(_.isString(src) ? new Date(src) : src) } function now() { return moment() } function date(src) { return dateValid(src) ? mo(src) : null } function dateValid(src) { let mom = mo(src) return mom.isValid() ? true : false } function datef(src, fmt) { let mom = date(src) return mom ? mom.format(fmt || 'MMMM Do YYYY, h:mm:ss A') : '' } function dateDiff(end, start) { end = date(end) start = date(start) return end && start ? end.diff(start) : null } function nowDiff(src) { return dateDiff(now(), src) } function epoch(src) { let mom = date(src) return mom ? mom.valueOf() : null } function unix(src) { let mom = date(src) return mom ? mom.unix() : null } function cal(src) { let mom = date(src) return mom ? mom.calendar() : '' } function fromNow(src) { let mom = date(src) return mom ? mom.fromNow() : '' } function utc(src) { let mom = date(src) return mom ? mom.utc() : null } function utcf(src, fmt) { let mom = utc(src) return mom ? mom.format(fmt || '') : '' } function local(src) { let mom = date(src) return mom ? date(mom.toDate()) : null } function localf(src, fmt) { let mom = local(src) return mom ? mom.format(fmt || 'YYYY-MM-DD HH:mm:ss A') : '' }