UNPKG

@cainiaofe/cn-utils

Version:

菜鸟前端基础工具库

42 lines (41 loc) 1.7 kB
import dayjs, { Dayjs } from 'dayjs'; import utc from 'dayjs/plugin/utc'; import timezone from 'dayjs/plugin/timezone'; import customParseFormat from 'dayjs/plugin/customParseFormat'; import advancedFormat from 'dayjs/plugin/advancedFormat'; import weekOfYear from 'dayjs/plugin/weekOfYear'; import weekday from 'dayjs/plugin/weekday'; import localeData from 'dayjs/plugin/localeData'; import isoWeek from 'dayjs/plugin/isoWeek'; import isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear'; import isLeapYear from 'dayjs/plugin/isLeapYear'; import isBtw from 'dayjs/plugin/isBetween'; import updateLocale from 'dayjs/plugin/updateLocale'; import { langToShortLang, getLang } from '@cainiaofe/cn-i18n'; import '../locale/dayjs'; dayjs.extend(utc); dayjs.extend(timezone); dayjs.extend(customParseFormat); dayjs.extend(advancedFormat); dayjs.extend(weekOfYear); dayjs.extend(weekday); dayjs.extend(localeData); dayjs.extend(isoWeek); dayjs.extend(isoWeeksInYear); dayjs.extend(isLeapYear); dayjs.extend(isBtw); dayjs.extend(updateLocale); var getDayjsLang = function (lang) { var lowerCase = lang.toLowerCase(); if (dayjs.Ls[lowerCase]) return lowerCase; var slang = langToShortLang(lang); // 兼容希伯来语i18n对于希伯来语可能存在2种版本的,dayjs只提供的he的翻译) slang = slang === 'iw' ? 'he' : slang; // 兼容英文本地语种,为了提高英文本地语种的兼容性,所有英文本地语种全部fallback到en slang = slang.startsWith('en-') ? 'en' : slang; // 不再支持范围的默认为英文 return dayjs.Ls[slang] ? slang : 'en'; }; dayjs.locale(getDayjsLang(getLang())); export { dayjs, Dayjs, getDayjsLang };