| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getTickInterval = exports.YEAR = exports.MONTH = exports.DAY = exports.HOUR = exports.MINUTE = exports.SECOND = exports.toTimeStamp = exports.timeFormat = void 0;
- var util_1 = require("@antv/util");
- var fecha_1 = require("fecha");
- var fecha1 = require("fecha");
- var bisector_1 = require("./bisector");
- var FORMAT_METHOD = 'format';
- function timeFormat(time, mask) {
- var method = fecha1[FORMAT_METHOD] || fecha_1.default[FORMAT_METHOD];
- return method(time, mask);
- }
- exports.timeFormat = timeFormat;
- /**
- * 转换成时间戳
- * @param value 时间值
- */
- function toTimeStamp(value) {
- if (util_1.isString(value)) {
- if (value.indexOf('T') > 0) {
- value = new Date(value).getTime();
- }
- else {
- // new Date('2010/01/10') 和 new Date('2010-01-10') 的差别在于:
- // 如果仅有年月日时,前者是带有时区的: Fri Jan 10 2020 02:40:13 GMT+0800 (中国标准时间)
- // 后者会格式化成 Sun Jan 10 2010 08:00:00 GMT+0800 (中国标准时间)
- value = new Date(value.replace(/-/gi, '/')).getTime();
- }
- }
- if (util_1.isDate(value)) {
- value = value.getTime();
- }
- return value;
- }
- exports.toTimeStamp = toTimeStamp;
- var SECOND = 1000;
- exports.SECOND = SECOND;
- var MINUTE = 60 * SECOND;
- exports.MINUTE = MINUTE;
- var HOUR = 60 * MINUTE;
- exports.HOUR = HOUR;
- var DAY = 24 * HOUR;
- exports.DAY = DAY;
- var MONTH = DAY * 31;
- exports.MONTH = MONTH;
- var YEAR = DAY * 365;
- exports.YEAR = YEAR;
- var intervals = [
- ['HH:mm:ss', SECOND],
- ['HH:mm:ss', SECOND * 10],
- ['HH:mm:ss', SECOND * 30],
- ['HH:mm', MINUTE],
- ['HH:mm', MINUTE * 10],
- ['HH:mm', MINUTE * 30],
- ['HH', HOUR],
- ['HH', HOUR * 6],
- ['HH', HOUR * 12],
- ['YYYY-MM-DD', DAY],
- ['YYYY-MM-DD', DAY * 4],
- ['YYYY-WW', DAY * 7],
- ['YYYY-MM', MONTH],
- ['YYYY-MM', MONTH * 4],
- ['YYYY-MM', MONTH * 6],
- ['YYYY', DAY * 380],
- ];
- function getTickInterval(min, max, tickCount) {
- var target = (max - min) / tickCount;
- var idx = bisector_1.default(function (o) { return o[1]; })(intervals, target) - 1;
- var interval = intervals[idx];
- if (idx < 0) {
- interval = intervals[0];
- }
- else if (idx >= intervals.length) {
- interval = util_1.last(intervals);
- }
- return interval;
- }
- exports.getTickInterval = getTickInterval;
- //# sourceMappingURL=time.js.map
|