UNPKG

2.04 kBJavaScriptView Raw
1import { isDate, isString, last } from '@antv/util';
2import fecha from 'fecha';
3import * as fecha1 from 'fecha';
4import bisector from './bisector';
5var FORMAT_METHOD = 'format';
6export function timeFormat(time, mask) {
7 var method = fecha1[FORMAT_METHOD] || fecha[FORMAT_METHOD];
8 return method(time, mask);
9}
10/**
11 * 转换成时间戳
12 * @param value 时间值
13 */
14export function toTimeStamp(value) {
15 if (isString(value)) {
16 if (value.indexOf('T') > 0) {
17 value = new Date(value).getTime();
18 }
19 else {
20 // new Date('2010/01/10') 和 new Date('2010-01-10') 的差别在于:
21 // 如果仅有年月日时,前者是带有时区的: Fri Jan 10 2020 02:40:13 GMT+0800 (中国标准时间)
22 // 后者会格式化成 Sun Jan 10 2010 08:00:00 GMT+0800 (中国标准时间)
23 value = new Date(value.replace(/-/gi, '/')).getTime();
24 }
25 }
26 if (isDate(value)) {
27 value = value.getTime();
28 }
29 return value;
30}
31var SECOND = 1000;
32var MINUTE = 60 * SECOND;
33var HOUR = 60 * MINUTE;
34var DAY = 24 * HOUR;
35var MONTH = DAY * 31;
36var YEAR = DAY * 365;
37export { SECOND, MINUTE, HOUR, DAY, MONTH, YEAR };
38var intervals = [
39 ['HH:mm:ss', SECOND],
40 ['HH:mm:ss', SECOND * 10],
41 ['HH:mm:ss', SECOND * 30],
42 ['HH:mm', MINUTE],
43 ['HH:mm', MINUTE * 10],
44 ['HH:mm', MINUTE * 30],
45 ['HH', HOUR],
46 ['HH', HOUR * 6],
47 ['HH', HOUR * 12],
48 ['YYYY-MM-DD', DAY],
49 ['YYYY-MM-DD', DAY * 4],
50 ['YYYY-WW', DAY * 7],
51 ['YYYY-MM', MONTH],
52 ['YYYY-MM', MONTH * 4],
53 ['YYYY-MM', MONTH * 6],
54 ['YYYY', DAY * 380],
55];
56export function getTickInterval(min, max, tickCount) {
57 var target = (max - min) / tickCount;
58 var idx = bisector(function (o) { return o[1]; })(intervals, target) - 1;
59 var interval = intervals[idx];
60 if (idx < 0) {
61 interval = intervals[0];
62 }
63 else if (idx >= intervals.length) {
64 interval = last(intervals);
65 }
66 return interval;
67}
68//# sourceMappingURL=time.js.map
\No newline at end of file