UNPKG

zent

Version:

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

41 lines (34 loc) 924 B
function isValidDate(value: number | string) { return !Number.isNaN(+new Date(value)); } /** * 将一个字符串、数字转化为 Date 的实例 * @param {string|Date|number} date 需要转换的值 * @return {date} Date 的实例 * @example * let date = getValidDate(new Date()); * date instanceof Date;// true * date = getValidDate(1496800160058); * date instanceof Date;// true */ export function getValidDate(date: unknown): Date { if (typeof date === 'undefined') { throw new Error('expects a date'); } date = date || new Date(); if (date instanceof Date) { return date; } if (typeof date === 'number') { if (isValidDate(date)) date = new Date(date); } if (typeof date === 'string') { if (!isValidDate(date)) { date = date.replace(/-/g, '/'); } if (isValidDate(date as string)) { date = new Date(date as string); } } return date as Date; }