blear.utils.date

1Introduction

2Example

var date = require('blear.utils.date');

3Static

3.1.id(date): id

date.id(new Date());
// => 20170115

3.1.1date

  • 类型:Date
  • 说明:日期对象

3.1.2id

  • 类型:Number
  • 说明:以为由fullYear + (month + 1) + date组成的唯一 ID,可以用作日期比较

3.2.fromId(id): date

将日期 ID 转换为日期,是 .id 方法的逆转。

date.fromId(id);

date.fromId(20170115);
// => new Date(2017, 0, 15)

3.2.1id

  • 类型:Number
  • 说明:日期 ID

3.2.2date

  • 类型:Date
  • 说明:返回日期对象,精确到年月日

3.3.parse(...args): date

根据传入的参数解析为一个日期对象。

3.3.10 个参数

将参数作为时间戳、或者是日期字符串描述、或者是一个日期对象。

date.parse();
// => new Date()

3.3.21 个参数

将参数作为时间戳、或者是日期字符串描述、或者是一个日期对象。

date.parse(new Date());
// => new Date()

date.parse(new Date().getTime());
// => new Date()

3.3.32 个参数

  • 参数 1:年
  • 参数 2:月

3.3.43 个参数

  • 参数 1:年
  • 参数 2:月
  • 参数 3:日

3.3.54 个参数

  • 参数 1:年
  • 参数 2:月
  • 参数 3:日
  • 参数 4:时

3.3.65 个参数

  • 参数 1:年
  • 参数 2:月
  • 参数 3:日
  • 参数 4:时
  • 参数 5:分

3.3.76 个参数

  • 参数 1:年
  • 参数 2:月
  • 参数 3:日
  • 参数 4:时
  • 参数 5:分
  • 参数 6:秒

3.3.87 个参数

  • 参数 1:年
  • 参数 2:月
  • 参数 3:日
  • 参数 4:时
  • 参数 5:分
  • 参数 6:秒
  • 参数 7:毫秒

3.4.format(format, [date]): formated

格式化日期。主要参考 ECMA规范定义YYYY-MM-DDTHH:mm:ss.sssZ,次要参考 moment。 更多阅读参考页底的更多链接。

date.format('YYYY-MM-DD HH:mm:ss.SSS 周ea');
// => "2017-01-15 18:15:01.289 周日下午"

3.4.1format

  • 类型:String
  • 说明:格式化字符串,有以下标记:
    • 年:Y
    • 月:M
    • 日:D
    • 时:H 表示 24 小时制,h 表示 12 小时制
    • 分:M
    • 秒:s
    • 毫秒:S,注意与秒区分
    • 星期:e,默认是汉字“一二三四五六日”
    • 上下午:a,默认是汉字“上午、下午”

3.4.2date

  • 类型:Date

3.4.3formated

  • 类型:String
  • 说明:格式化之后的字符串

3.5.isLeapYear(year): isLeapYear

判断是否为闰年。

date.isLeapYear(2014);
// => false

3.5.1year

  • 类型:Number
  • 说明:年

3.5.2isLeapYear

  • 类型:Boolean

3.6.getDaysInMonth(year, month): days

获得某年某月的天数。

date.getDaysInMonth(2014, 9);
// => 31

3.6.1year

  • 类型:Number
  • 说明:年

3.6.2month

  • 类型:Number
  • 说明:月

3.6.3days

  • 类型:Number
  • 说明:天数

3.7.getDaysInMonth(year, month, date): days

获得某年某月某日在当年的第几天。

date.getDaysInMonth(2014, 0, 1);
// => 1

3.7.1year

  • 类型:Number
  • 说明:年

3.7.2month

  • 类型:Number
  • 说明:月

3.7.3date

  • 类型:Number
  • 说明:日

3.7.4days

  • 类型:Number
  • 说明:天数

3.8.getWeeksInYear(year, month, date, [weekStartDay=0]): weeks

计算某年某月某日是当年的第几周,第一周为 1,而不是 0。

// 判断 2014 年 10 月 24 日是 2014 年的第几周
date.getWeeksInYear(2014, 9, 24);
// => 43(第 43 周)

3.8.1year

  • 类型:Number
  • 说明:年

3.8.2month

  • 类型:Number
  • 说明:月

3.8.3date

  • 类型:Number
  • 说明:日

3.8.4weekStartDay

  • 类型:Number
  • 说明:一周开始是星期几,0 为周日
  • 默认:0

3.8.5weeks

  • 类型:Number
  • 说明:周数

3.9.getWeeksInMonth(year, month, d, [weekStartDay=0]): weeks

计算某年某月某日是当月的第几周,第一周为 1,而不是 0。

// 判断 2014 年 10 月 24 日是 2014 年 10 月的第几周
date.getWeeksInMonth(2014, 9, 24);
// => 4(第 4 周)

3.9.1year

  • 类型:Number
  • 说明:年

3.9.2month

  • 类型:Number
  • 说明:月

3.9.3date

  • 类型:Number
  • 说明:日

3.9.4weekStartDay

  • 类型:Number
  • 说明:一周开始是星期几,0 为周日
  • 默认:0

3.9.5weeks

  • 类型:Number
  • 说明:周数

3.10.from(to, [from=now]): humanized

时间比较,符合人类阅读。

date.from(new Date());
// => "刚刚"

3.10.1to

  • 类型:Number | String | Date
  • 说明:比较时间

3.10.2from

  • 类型:Number | String | Date
  • 说明:被比较时间
  • 默认:当前时间

3.10.3humanized

  • 类型:String
  • 说明:时间差距描述,内置的描述有
    • 过去时间
      • 刚刚
      • N秒前
      • N分钟前
      • N小时前
      • N天前
      • N月前
      • N年前
      • 很久之前
    • 将来时间
      • 即将
      • N秒后
      • N分钟后
      • N小时后
      • N天后
      • N月后
      • N年后
      • 很久之后

3.11.iso(date): isoString

将日期时间转换为 ISO8601 标准(YYYY-MM-DDThh:mm:ss.sTZD)。

date.iso(new Date());
// => "2017-01-15T10:26:09.999Z"

3.11.1date

  • 类型:Date
  • 说明:日期

3.11.2isoString

  • 类型:String
  • 说明:ISO 标准字符串

3.12.start(date): startTime

获取日期的开始时间(即:当天的 0:0:0:000)。

3.12.1date

  • 类型:Date
  • 说明:日期

3.12.2startTime

  • 类型:Date
  • 说明:当天开始时间

3.13.end(date): endTime

获取日期的结束时间(即:当天的 23:59:59:999)。

3.13.1date

  • 类型:Date
  • 说明:日期

3.13.2endTime

  • 类型:Date
  • 说明:当天结束时间

4Dependencies

5Reference