mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
94 lines (89 loc) • 3.14 kB
JavaScript
;
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;
}