UNPKG

mobile-more

Version:

基于 antd-mobile v5 扩展移动端 UI 组件

94 lines (89 loc) 3.14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Dayjs", { enumerable: true, get: function get() { return _dayjs.Dayjs; } }); Object.defineProperty(exports, "dayjs", { enumerable: true, get: function get() { return _dayjs.default; } }); exports.formatQuarter = formatQuarter; Object.defineProperty(exports, "isDayjs", { enumerable: true, get: function get() { return _dayjs.isDayjs; } }); exports.isInvalidDateString = isInvalidDateString; exports.transformQuarter = transformQuarter; var _dayjs = _interopRequireWildcard(require("dayjs")); var _advancedFormat = _interopRequireDefault(require("dayjs/plugin/advancedFormat")); var _isoWeek = _interopRequireDefault(require("dayjs/plugin/isoWeek")); var _relativeTime = _interopRequireDefault(require("dayjs/plugin/relativeTime")); var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear")); var _weekOfYear = _interopRequireDefault(require("dayjs/plugin/weekOfYear")); var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat")); var _weekday = _interopRequireDefault(require("dayjs/plugin/weekday")); var _localeData = _interopRequireDefault(require("dayjs/plugin/localeData")); // dayjs.locale('zh-cn'); _dayjs.default.extend(_advancedFormat.default); _dayjs.default.extend(_isoWeek.default); _dayjs.default.extend(_relativeTime.default); _dayjs.default.extend(_quarterOfYear.default); _dayjs.default.extend(_weekOfYear.default); _dayjs.default.extend(_customParseFormat.default); _dayjs.default.extend(_weekday.default); _dayjs.default.extend(_localeData.default); var INVALID_DATE = 'invalid date'; /**内部使用的年-季格式 */ var InternalQuarterFormat = 'YYYY-qQ'; /** * 格式化日期为年-季字符串 * * @param value 日期值 * @returns 年-季字符串 * @example * formatQuarter('2023-03-01') // '2023-Q1' * formatQuarter('2023-04-01') // '2023-Q2' */ function formatQuarter(value) { return (0, _dayjs.default)(value).format(InternalQuarterFormat).toUpperCase(); } /** * 年-季字符串转换为Dayjs实例 * * @param value 年-季字符串, 例如:2023-Q1 * @returns Dayjs 实例 * @example * transformQuarter('2023-Q1').format('YYYY-MM-DD') // '2023-01-01' */ function transformQuarter(value) { if (_dayjs.default.isDayjs(value)) { return value; } return (0, _dayjs.default)((value || '').replace(/q|Q/g, ''), 'YYYY-Q'); } /** * 判断日期字符串是否为无效日期字符串 * * @param value 日期字符串 * @returns 是否为无效日期字符串 * @example * isInvalidDateString('2023-03-01') // false * isInvalidDateString('2023-04-01') // false * isInvalidDateString('invalid date') // true * isInvalidDateString('Invalid Date') // true * isInvalidDateString('INVALID DATE') // true */ function isInvalidDateString(value) { return value.toLowerCase() === INVALID_DATE; }