@cainiaofe/cn-ui-m
Version:
43 lines (42 loc) • 1.55 kB
JavaScript
import { formatValue } from './format-value';
import { getEndOfQuarter } from './get-end-of-quarter';
import { getStartOfQuarter } from './get-start-of-quarter';
/**
* 获取时间戳
* @param v dayjs格式日期值
* @param processTime 是否处理时间开始/结束
* @param endOfDay 是否取时间结束
* @param isEndOfRange 是否为范围结束
* @param mode 日期选择模式
* @returns 时间戳
*/
export var getValueFromDayjs = function (v, processTime, endOfDay, isEndOfRange, mode) {
var fmt = function () {
var getValue = function (p, isEndOf, endOfType) {
if (!p || !p.valueOf) {
return null;
}
if (!processTime) {
return p.valueOf();
}
if (isEndOf) {
return endOfType !== 'quarter' ? p.endOf(endOfType).valueOf() : getEndOfQuarter(p).valueOf();
}
return endOfType !== 'quarter'
? p.startOf(endOfType).valueOf()
: getStartOfQuarter(p).valueOf();
};
if (isEndOfRange === true) {
return [false, true].map(function (type) { return function (i) {
return getValue(i, type, mode);
}; });
}
if (Array.isArray(endOfDay)) {
return endOfDay.map(function (type) { return function (i) {
return getValue(i, type, 'date');
}; });
}
return function (i) { return getValue(i, endOfDay, 'date'); };
};
return formatValue(v, fmt());
};