【发布时间】:2021-06-16 08:17:41
【问题描述】:
我正在为我的应用程序使用 Typescript。我在数据库中有两组数据,一组是date,一组是time。两者都期待字符串。
当用户选择日期时,我发出了一个POST 请求,并且将为用户选择那个时间。我为用户的选择时间结束创建了一个辅助函数,在这种情况下,我会在前端向他们显示一个警报,显示
“您选择的时间已过期!”
我的逻辑工作正常,但我正试图摆脱 Typescript 错误。
这是我的Typescript playground error:
找不到名称“要求”。您需要为节点安装类型定义吗?试试
npm i --save-dev @types/node。“字符串”类型的参数不能分配给“数字”类型的参数。
算术运算的左侧必须是“any”、“number”、“bigint”或枚举类型。
“字符串”类型的参数不能分配给“数字”类型的参数。
对象可能是“空”。
这是我的代码
const { isToday, format } = require("date-fns");
const expiredTime = (date: string, time: string) => {
const [yyyy, mm, dd] = date.split("-");
const d = new Date();
d.setFullYear(yyyy);
d.setMonth(mm - 1);
d.setDate(dd);
if (isToday(d)) {
const now = d.toTimeString().match(/(\d{2}:\d{2}):.*/)[1];
const [start, end] = time.split("-");
return now >= start && now <= end;
}
return false;
};
const text = expiredTime("2021-06-16", "10:55-12:00") ? "OK" : "Expired";
console.log(text);
【问题讨论】:
-
能否在您的问题中说明实际错误是什么?
-
这里实际上没有任何打字稿。您需要添加类型(因此得名)
-
可以使用
parseInt()函数将字符串解析为整数。
标签: javascript typescript date