• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript chronoshift.Duration类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中chronoshift.Duration的典型用法代码示例。如果您正苦于以下问题:TypeScript Duration类的具体用法?TypeScript Duration怎么用?TypeScript Duration使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Duration类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: it

  it('fromJSes appropriately', () => {

    var timeBucketAction1 = granularityFromJS({
      action: 'timeBucket',
      duration: 'P1W',
      timezone: 'America/Tijuana'
    });

    expect(timeBucketAction1 instanceof TimeBucketAction).to.equal(true);
    expect((timeBucketAction1 as TimeBucketAction).timezone.toString()).to.equal('America/Tijuana');
    expect((timeBucketAction1 as TimeBucketAction).duration).to.deep.equal(Duration.fromJS('P1W'));

    var timeBucketAction2 = granularityFromJS('PT1H');
    expect(timeBucketAction2 instanceof TimeBucketAction).to.equal(true);
    expect((timeBucketAction2 as TimeBucketAction).timezone).to.equal(undefined);
    expect((timeBucketAction2 as TimeBucketAction).duration).to.deep.equal(Duration.fromJS('PT1H'));

    var numberBucketAction1 = granularityFromJS({
      action: 'numberBucket',
      size: 5,
      offset: 1
    });

    expect(numberBucketAction1 instanceof NumberBucketAction).to.equal(true);
    expect((numberBucketAction1 as NumberBucketAction).size).to.equal(5);
    expect((numberBucketAction1 as NumberBucketAction).offset).to.equal(1);

    var numberBucketAction2 = granularityFromJS(5);

    expect(numberBucketAction2 instanceof NumberBucketAction).to.equal(true);
    expect((numberBucketAction2 as NumberBucketAction).size).to.equal(5);
    expect((numberBucketAction2 as NumberBucketAction).offset).to.equal(0);

  });
开发者ID:arunkjn,项目名称:pivot,代码行数:34,代码来源:granularity.mocha.ts


示例2: getTickDuration

export function getTickDuration(timeRange: TimeRange): Duration {
  var len = timeRange.end.valueOf() - timeRange.start.valueOf();
  if (len > 95 * day.canonicalLength) {
    return Duration.fromJS('P1M');

  } else if (len > 20 * day.canonicalLength) {
    return Duration.fromJS('P1W');

  } else if (len > 6 * day.canonicalLength) {
    return Duration.fromJS('P1D');

  } else if (len > 2 * day.canonicalLength) {
    return Duration.fromJS('PT12H');

  } else if (len > 23 * hour.canonicalLength) {
    return Duration.fromJS('PT6H');

  } else if (len > 3 * hour.canonicalLength) {
    return Duration.fromJS('PT1H');

  } else if (len > hour.canonicalLength) {
    return Duration.fromJS('PT5M');

  } else {
    return Duration.fromJS('PT1M');
  }
}
开发者ID:mdeora,项目名称:pivot,代码行数:27,代码来源:time.ts


示例3: formatTimeBasedOnGranularity

export function formatTimeBasedOnGranularity(range: TimeRange, granularity: Duration, timezone: Timezone, locale: Locale): string {
  const wallTimeStart = WallTime.UTCToWallTime(range.start, timezone.toString());

  const year = wallTimeStart.getFullYear();
  const month = wallTimeStart.getMonth();
  const day = wallTimeStart.getDate();
  const hour = wallTimeStart.getHours();
  const minute = wallTimeStart.getMinutes();
  const second = wallTimeStart.getSeconds();

  const monthString = locale.shortMonths[month];
  const hourToTwelve = hour % 12 === 0 ? 12 : hour % 12;
  const amPm = (hour / 12) >= 1 ? 'pm' : 'am';

  var granularityString = granularity.toJS();
  var unit = granularityString.substring(granularityString.length - 1);

  switch (unit) {
    case 'S':
      return `${monthString} ${day}, ${pad(hour)}:${pad(minute)}:${pad(second)}`;
    case 'M':
      var prefix = granularityString.substring(0, 2);
      return prefix === "PT" ? `${monthString} ${day}, ${hourToTwelve}:${pad(minute)}${amPm}` : `${monthString}, ${year}`;
    case 'H':
      return `${monthString} ${day}, ${year}, ${hourToTwelve}${amPm}`;
    case 'D':
      return `${monthString} ${day}, ${year}`;
    case 'W':
      return `${formatTimeRange(range, timezone, DisplayYear.ALWAYS)}`;
    default:
      return cleanISOString(wallTimeHelper(wallTimeStart).toISOString());
  }
}
开发者ID:avenger-teamave,项目名称:pivot,代码行数:33,代码来源:time.ts


示例4: getBestGranularity

export function getBestGranularity(timeRange: TimeRange): Duration {
  var len = timeRange.end.valueOf() - timeRange.start.valueOf();
  if (len > 95 * day.canonicalLength) {
    return Duration.fromJS('P1W');

  } else if (len > 8 * day.canonicalLength) {
    return Duration.fromJS('P1D');

  } else if (len > 8 * hour.canonicalLength) {
    return Duration.fromJS('PT1H');

  } else if (len > 3 * hour.canonicalLength) {
    return Duration.fromJS('PT5M');

  } else {
    return Duration.fromJS('PT1M');
  }
}
开发者ID:mdeora,项目名称:pivot,代码行数:18,代码来源:time.ts


示例5: onGranClick

 onGranClick(gran: string): void {
   var { clicker, essence, split, onClose } = this.props;
   var bucketAction = split.bucketAction;
   if (bucketAction instanceof TimeBucketAction) {
     var newSplit = split.changeBucketAction(new TimeBucketAction({
       timezone: bucketAction.timezone,
       duration: Duration.fromJS(gran)
     }));
     clicker.changeSplits(essence.splits.replace(split, newSplit));
   }
   onClose();
 }
开发者ID:Ghostubborn,项目名称:pivot,代码行数:12,代码来源:split-menu.ts


示例6: it

  it('formats time range based off of start walltime', () => {

    var locale = {
      shortDays: ["2"],
      weekStart: 0,
      shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec" ]
    };

    var start = new Date("1965-02-02T13:00:00.000Z");
    var end = day.shift(start, TZ_TIJUANA, 1);
    var gran = Duration.fromJS('PT1H');
    var range = new TimeRange({ start, end });
    expect(formatTimeBasedOnGranularity(range, gran, TZ_TIJUANA, locale), 'hour tijuana').to.equal("Feb 2, 1965, 5am");

    start = new Date("1999-05-02T13:00:00.000Z");
    end = month.shift(start, TZ_TIJUANA, 1);
    gran = Duration.fromJS('PT1S');
    range = new TimeRange({ start, end });
    expect(formatTimeBasedOnGranularity(range, gran, TZ_TIJUANA, locale), 'second tijuana').to.equal("May 2, 06:00:00");

    start = new Date("1999-05-02T13:00:00.000Z");
    end = month.shift(start, TZ_TIJUANA, 1);
    gran = Duration.fromJS('P1W');
    range = new TimeRange({ start, end });
    expect(formatTimeBasedOnGranularity(range, gran, TZ_TIJUANA, locale), 'week tijuana').to.equal("May 2 - Jun 2, 1999 6am");

    start = new Date("1999-05-02T13:00:00.000Z");
    end = month.shift(start, TZ_KATHMANDU, 1);
    gran = Duration.fromJS('P1M');
    range = new TimeRange({ start, end });
    var monthFmt = formatTimeBasedOnGranularity(range, gran, TZ_KATHMANDU, locale);
    expect(monthFmt, 'month granularity format').to.equal("May, 1999");
    var minFmt = formatTimeBasedOnGranularity(range, Duration.fromJS("PT1M"), TZ_KATHMANDU, locale);
    expect(minFmt, 'minute granularity format').to.equal("May 2, 6:45pm");
    expect(monthFmt).to.not.equal(minFmt, 'distinguishes between month and minute fmt');

  });
开发者ID:WuQic,项目名称:pivot,代码行数:37,代码来源:time.mocha.ts


示例7: parseIntervalString

function parseIntervalString(str: string): TimeRange {
  var parts = str.split('/');
  if (parts.length > 2) throw new Error(`Can not parse string ${str}`);
  var p0: string = parts[0];
  var p1: string = parts.length === 2 ? parts[1] : (new Date()).toISOString();

  var start: Date = null;
  var end: Date = null;
  var duration: Duration = null;
  if (p0[0] === 'P') {
    duration = Duration.fromJS(p0);
    end = new Date(p1);
    start = duration.move(end, Timezone.UTC, -1);
  } else if (p1[0] === 'P') {
    start = new Date(p0);
    duration = Duration.fromJS(p1);
    end = duration.move(end, Timezone.UTC, 1);
  } else {
    start = new Date(p0);
    end = new Date(p1);
  }

  return TimeRange.fromJS({ start, end });
}
开发者ID:dkarpman,项目名称:plyql,代码行数:24,代码来源:cli.ts



注:本文中的chronoshift.Duration类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript chronoshift.Timezone类代码示例发布时间:2022-05-24
下一篇:
TypeScript chromeless.Queue类代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap