date

一组日期格式化工具集合

object date;
Details

date 对象提供了多种操作日期的方法:

  • add (date, number, unit): Date - 通过增加或减少指定时间单位来调整给定的日期
    • date - (Date) 需要修改的日期
    • number - (number) 要添加(正数)或减去(负数)的单位数量
    • unit - (string) 时间单位:'minute', 'hour', 'day', 'week', 'month', 'year'。
    • //给指定日期加1年:2019年6月29日 -> 2020年6月29日
      var newDate = gantt.date.add(new Date(2019, 05, 29), 1, 'year');
  • add_quarter (date, number): Date - 给日期添加或减少若干季度(每季度3个月)
    • date - (Date) 需要调整的日期
    • number - (number) 要添加(正数)或减去(负数)的季度数
    • //给指定日期加1个季度(3个月):
      //2019年6月29日 -> 2019年9月29日
      var newDate = gantt.date.add_quarter(new Date(2019, 05, 29), 1);
  • convert_to_utc (date): Date - 将本地时间转换为UTC时间
    • date - (Date) 需要转换的日期
    • //2019年6月29日14:00(本地时间) -> 2019年6月29日12:00(UTC时间)
      var time = gantt.date.convert_to_utc(new Date(2019, 05, 29, 14, 00));
  • copy (date): Date - 复制一个Date对象的副本
    • date - (Date) 需要复制的日期
    • var copy = gantt.date.copy(new Date(2019, 05, 29));// -> 2019年6月29日
  • date_part (date): Date - 将日期的时间部分重置为午夜(00:00:00)
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30:10 -> 2019年6月29日00:00:00
      var date = gantt.date.date_part(new Date(2019, 05, 29, 14, 30, 10));
  • date_to_str (format, utc): Function - 生成一个函数,将Date对象转换为格式化字符串
    • format - (string) 期望的日期格式(参见 日期格式规范
    • utc? - (boolean) 是否将本地时间转换为UTC
    • var formatFunc = gantt.date.date_to_str("%d/%m/%Y");
      var date = formatFunc(new Date(2019, 05, 29)); // -> "29/06/2019"
  • day_start (date): Date - 将日期时间设置为午夜,与 date_part 相同。此方法用于Day视图确定显示日期,且可自定义
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30:10 -> 2019年6月29日00:00:00
      var date = gantt.date.day_start(new Date(2019, 05, 29, 14, 30, 10));
  • getISOWeek (date): number - 返回日期对应的ISO-8601周数,周一为一周的第一天
    • date - (Date) 需要计算的日期
    • var week = gantt.date.getISOWeek(new Date(2019, 05, 29));// ->26
  • getUTCISOWeek (date): number - 将本地时间转换为UTC后,返回该日期的周数
    • date - (Date) 需要计算的日期
    • var week = gantt.date.getUTCISOWeek(new Date(2019, 05, 29));// ->26
  • getWeek (date): number - 返回日期的周数,周起始日根据 start_on_monday 中配置可为周一或周日
    • date - (Date) 需要计算的日期
    • // 周从周日开始
      gantt.config.start_on_monday = false;
       
      var isoWeek = gantt.date.getISOWeek(new Date(2019, 2, 25)); // ->12
      var week = gantt.date.getWeek(new Date(2019, 2, 25)); // ->13
  • month_start (date): Date - 返回给定日期所在月份的第一天,时间重置为午夜
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30 -> 2019年6月1日00:00
      var firstDay = gantt.date.month_start(new Date(2019, 05, 29, 14, 30));
  • parseDate (date, format): Date - 将指定格式的字符串转换为Date对象
    • date - (string) 日期字符串
    • format - (string) 日期字符串的格式(参见 日期格式规范
    • var date = gantt.date.parseDate("29/06/2019","%d/%m/%Y");//-> 2019年6月29日00:00:00
  • str_to_date (format, utc): Function - 创建一个函数,将指定格式的字符串转换为Date对象
    • format - (string) 预期的日期格式(参见 日期格式规范
    • utc? - (boolean) 是否将本地时间转换为UTC
    • var formatFunc = gantt.date.str_to_date("%d/%m/%Y");
      var date = formatFunc("29/06/2019"); // -> 2019年6月29日00:00:00
  • time_part (date): number - 返回Date对象的时间部分,以午夜起算的秒数表示
    • date - (Date) 需要计算的日期
    • var time = gantt.date.time_part(new Date(2019, 05, 29, 14, 30, 10));
  • to_fixed (num): string - 格式化小于10的数字,前面补零;10及以上数字保持不变,返回字符串
    • num - (number) 需要格式化的数字
    • var num1 = gantt.date.to_fixed(2);// ->"02"
      var num2 = gantt.date.to_fixed(10);// ->10
  • minute_start (date): Date - 返回秒数置零的日期,保留年、月、日、小时和分钟
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30:10 -> 2019年6月29日14:30:00
      var date = gantt.date.minute_start(new Date(2019, 05, 29, 14, 30, 10));
  • hour_start (date): Date - 返回分钟和秒数均置零的日期,保留年、月、日和小时
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30:10 -> 2019年6月29日14:00:00
      var date = gantt.date.hour_start(new Date(2019, 05, 29, 14, 30, 10));
  • week_start (date): Date - 返回给定日期所在周的第一天,时间重置为午夜
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30 -> 2019年6月24日00:00
      var weekStart = gantt.date.week_start(new Date(2019, 05, 29, 14, 30));
  • quarter_start (date): Date - 返回给定日期所在季度的首月,时间重置为午夜
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30:10 -> 2019年4月1日00:00:00
      var date = gantt.date.quarter_start(new Date(2019, 05, 29, 14, 30, 10));
  • year_start (date): Date - 返回给定日期所在年的第一天,时间设置为午夜
    • date - (Date) 需要调整的日期
    • //2019年6月29日14:30 -> 2019年1月1日00:00
      var yearStart = gantt.date.year_start(new Date(2019, 05, 29, 14, 30));
Back to top