Teal TealUI

日期扩展util/date

提供 JavaScript 内置对象 Date 的扩展接口。

API

函数 描述
format(...)(date?:Date, format?:string):string

格式化日期对象。

参数 类型 描述 默认值
date Date new Date()
format string "yyyy/MM/dd HH:mm:ss"

返回值

类型:string

返回格式化后的字符串。

示例

format(new Date("2016/01/01 00:00:00")) // "2016/01/01 00:00:00"
format(new Date("2016/01/01 00:00:00"), "yyyyMMdd") // "20160101"

参考

格式化日期对象。

parse(value, ...)(value:string, format?:string):Date

解析字符串为日期对象。

参数 类型 描述 默认值
value* string
format string

返回值

类型:Date

返回新日期对象。

示例

parse("2014-1-1") // new Date("2014/1/1")
parse("20140101") // new Date("2014/1/1")
parse("2014年1月1日", "yyyy年MM月dd日") // new Date("2014/1/1")

解析字符串为日期对象。

clone(date)(date:Date):Date

创建当前日期对象的副本。

参数 类型 描述 默认值
date* Date

返回值

类型:Date

返回新日期对象。

示例

clone(new Date("2014/1/1")) // new Date("2014/1/1")

创建当前日期对象的副本。

addYear(date, value)(date:Date, value:number):Date

计算日期添加指定年数后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addYear(new Date("2014/1/1"), 1) // new Date("2015/1/1")

计算日期添加指定年数后的新日期。

addMonth(date, value)(date:Date, value:number):Date

计算日期添加指定月数后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addMonth(new Date("2014/1/1"), 1) // new Date("2014/2/1")

计算日期添加指定月数后的新日期。

addWeek(date, value)(date:Date, value:number):Date

计算日期添加指定周后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addWeek(new Date("2014/1/1"), 1) // new Date("2014/1/8")

计算日期添加指定周后的新日期。

addDay(date, value)(date:Date, value:number):Date

计算日期添加指定天数后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addDay(new Date("2014/1/1"), 1) // new Date("2014/1/2")

计算日期添加指定天数后的新日期。

addHours(date, value)(date:Date, value:number):Date

计算日期添加指定小时后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addHours(new Date("2014/1/1"), 1) // new Date("2014/1/1 01:00:00")

计算日期添加指定小时后的新日期。

addMinutes(date, value)(date:Date, value:number):Date

计算日期添加指定分数后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addMinutes(new Date("2014/1/1"), 1) // new Date("2014/1/1 00:01:00")

计算日期添加指定分数后的新日期。

addSeconds(date, value)(date:Date, value:number):Date

计算日期添加指定秒后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addSeconds(new Date("2014/1/1"), 1) // new Date("2014/1/1 00:00:01")

计算日期添加指定秒后的新日期。

addMilliseconds(date, value)(date:Date, value:number):Date

计算日期添加指定毫秒后的新日期。

参数 类型 描述 默认值
date* Date
value* number

返回值

类型:Date

返回新日期对象。

示例

addMilliseconds(new Date("2014/1/1"), 1000) // new Date("2014/1/1 00:00:01")

计算日期添加指定毫秒后的新日期。

toDay(date)(date:Date):Date

获取日期的日期部分。

参数 类型 描述 默认值
date* Date

返回值

类型:Date

返回新日期对象,其小时部分已被清零。

示例

toDay(new Date("2014/1/1 12:00:00")) // new Date("2014/1/1")

获取日期的日期部分。

toFirstDay(date)(date:Date):Date

获取日期的第一天。

参数 类型 描述 默认值
date* Date

返回值

类型:Date

返回新日期对象。

示例

toFirstDay(new Date("2016/2/15")) // new Date("2016/2/1")

获取日期的第一天。

toLastDay(date)(date:Date):Date

获取日期的最后一天。

参数 类型 描述 默认值
date* Date

返回值

类型:Date

返回新日期对象。

示例

toLastDay(new Date("2016/2/15")) // new Date("2016/2/29")

获取日期的最后一天。

getTimezone(date)(date:Date):string

获取日期的时区部分。

参数 类型 描述 默认值
date* Date

返回值

类型:string

返回时区部分。

示例

getTimezone(new Date("Fri Feb 17 2017 16:54:41 GMT+0800")) // "GMT"

获取日期的时区部分。

getWeek(date, ...)(date:Date, base?:Date):number

获取日期所在的周数。

参数 类型 描述 默认值
date* Date
base Date new Date(date.getFullYear(), 0, 1)

返回值

类型:number

返回周数。

示例

getWeek(new Date("2014/1/15")) // 3
getWeek(new Date("2014/1/15"), new Date("2014/1/1")) // 3

获取日期所在的周数。

compareYear(x, y)(x:Date, y:Date):number

获取两个日期相差的年份。

参数 类型 描述 默认值
x* Date
y* Date

返回值

类型:number

返回 x 减去 y 相差的天数。不满一年的部分会被忽略。

示例

compareYear(new Date(2014, 1, 1), new Date(2013, 1, 2)) // 1

获取两个日期相差的年份。

compareDay(x, y)(x:Date, y:Date):number

获取两个日期相差的天数。

参数 类型 描述 默认值
x* Date
y* Date

返回值

类型:number

返回 x 减去 y 相差的天数。不足一天的部分会被忽略。

示例

compareDay(new Date(2014, 1, 2), new Date(2014, 1, 1)) // 1

获取两个日期相差的天数。

dayLeft(date, month, day)(date:Date, month:number, day:number):number

计算日期到最近的指定月日的剩余天数。如果今年指定月日已过,则计算到明年该月日的剩余天数。

参数 类型 描述 默认值
date* Date
month* number
day* number

返回值

类型:number

返回剩余天数。

示例

dayLeft(new Date("2014/12/3"), 12, 5) // 2
dayLeft(new Date("2014/12/4"), 12, 5) // 1
dayLeft(new Date("2014/12/5"), 12, 5) // 0
dayLeft(new Date("2014/12/6"), 12, 5) // 364

计算日期到最近的指定月日的剩余天数。如果今年指定月日已过,则计算到明年该月日的剩余天数。

isValid(year, month, ...)(year:number, month:number, day?:number, hour?:number, minute?:number, second?:number, milliSecond?:number):boolean

判断指定数值所表示的日期是否合法(如 2 月 30 日是不合法的)。

参数 类型 描述 默认值
year* number
month* number
day number 1
hour number 0
minute number 0
second number 0
milliSecond number 0

返回值

类型:boolean

如果提供的数组能组成有效的日期则返回 true,否则返回 false。

示例

isValid(2000, 2, 29) // false
isValid(2004, 2, 29) // true

判断指定数值所表示的日期是否合法(如 2 月 30 日是不合法的)。

isLeapYear(year)(year:number):boolean

判断指定年份是否是闰年。

参数 类型 描述 默认值
year* number

返回值

类型:boolean

如果年份是闰年则返回 true,否则返回 false。

示例

isLeapYear(2004) // true
isLeapYear(2000) // true
isLeapYear(2100) // false
isLeapYear(2002) // false

判断指定年份是否是闰年。

getDayInMonth(year, month)(year:number, month:number):number

获取指定年的指定月的天数。

参数 类型 描述 默认值
year* number
month* number

返回值

类型:number

返回天数。

示例

getDayInMonth(2001, 1) // 31
getDayInMonth(2001, 2) // 28
getDayInMonth(2004, 2) // 29

获取指定年的指定月的天数。