import { JsDate } from "./JsDate";
import { PrintObject } from "./PrintObject";
import { Boolean } from "../dataType/Boolean";
import { Date } from "./Date";
/**
* gve
* @class gve.DateRange
* @since gve
*/
export class DateRange extends PrintObject {
/**
* 构造DateRange实例
* @hideconstructor
* @param {Date|number|string|object} start 开始的时间范围
* @param {Date|number|string|object} [end] 可选参数,结束的时间范围
* @param {string} [timeZone] 时区
* @returns gve.DateRange
*/
constructor(start: JsDate|number|string|object, end?: JsDate|number|string|object, timeZone?:string) {
super();
if (!(this instanceof DateRange)) {
return new DateRange(start, end, timeZone);
}
}
/**
* 判断是否包含该时间日期或者时间范围
* @param {Date|DateRange} other 时间或者时间范围
* @returns Boolean
*/
contains(other: Date|DateRange) {
return new Boolean();
}
/**
* 返回时间范围内的结束时间
* @returns Date
*/
end() {
return new Date(0);
}
/**
* 返回是否有交集的时间点
* @param {DateRange} other 时间范围
* @returns Boolean
*/
intersects(other: DateRange) {
return new Boolean();
}
/**
* 判断时间范围内是否没时间
* @returns Boolean
*/
isEmpty() {
return new Boolean();
}
/**
* 返回该时间范围内开始的时间
* @returns Date
*/
start() {
return new Date(0);
}
}