【发布时间】:2017-09-06 06:17:29
【问题描述】:
我一直在寻找要在我的程序中使用的代码,这些代码将使用 typescript 在我的 Angular 应用程序中计算周数(根据 ISO 标准)。仅在 JavaScript 中很难找到一段代码,但我想我可能已经找到了一些东西——问题是我得到一个错误:算术运算的右侧必须是“任何”类型, 'number' 或枚举类型。
我不知道这意味着什么。 这是我尝试编写的使用代码的服务:
import { Injectable } from '@angular/core';
@Injectable()
export class WeekNumberService {
constructor() { }
ISO8601_week_no(dt) {
var tdt = new Date(dt.valueOf());
var dayn = (dt.getDay() + 6) % 7;
tdt.setDate(tdt.getDate() - dayn + 3);
var firstThursday = tdt.valueOf();
tdt.setMonth(0, 1);
if (tdt.getDay() !== 4)
{
tdt.setMonth(0, 1 + ((4 - tdt.getDay()) + 7) % 7);
}
return 1 + Math.ceil((firstThursday - tdt) / 604800000);
}
}
PS:我最后只求周数。
【问题讨论】:
标签: javascript typescript