UNPKG

zent

Version:

一套前端设计语言和基于React的实现

43 lines (36 loc) 1.29 kB
import { parse } from './fecha'; import { zhCN } from '../../i18n/time-locale'; /** * 解析日期,字符串转化为日期 * @memberof module:date * @param date 需要解析的 date,默认应该传入字符串,但对下面两个情况也做了兼容: * - 如果传入Date的实例则直接返回这个实例; * - 如果传入时间戳数字,则返回 new Date(date) 函数调用后的值; * @param mask 解析的格式 * @param locale i18n 的设置,默认为 zhCN * @see {@link https://github.com/taylorhakes/fecha#parsing|parse文档} * @returns {date} 转化后的日期 * @example * parseDate('February 3rd, 2014', 'MMMM Do, YYYY'); // new Date(2014, 1, 3) * parseDate('10-12-10 14:11:12', 'YY-MM-DD HH:mm:ss'); // new Date(2010, 11, 10, 14, 11, 12) * parseDate('5/3/98', 'shortDate'); // new Date(1998, 4, 3) * parseDate('November 4, 2005', 'longDate'); // new Date(2005, 10, 4) */ export default function parseDate( date: string | number | Date, mask = 'default', locale = zhCN ): Date { if (date instanceof Date) { return new Date(date.getTime()); } if (typeof date === 'number') { return new Date(date); } mask = mask || 'default'; const ret = parse(date, mask, locale); if (!ret) { return null; } return ret; }