gpt4 book ai didi

javascript - 如何从包含日期范围的字符串中提取年份 [Typescript/Angular]

转载 作者:行者123 更新时间:2023-11-30 07:19:19 24 4
gpt4 key购买 nike

我是 Typescript 的初学者。我有一个以字符串形式接收的日期范围。

var range="7-01-2018 VS 5-01-2019";

它现在是硬编码的,只是为了向您解释。但它也只会在以后以这种字符串形式出现。我必须提取 2018 年并将其存储在某个变量中,例如 startYear,我还必须提取 2019 年并将其存储在 endYear 变量中。以便稍后我可以比较它们并应用验证。

我尝试使用:

  1. 子串(开始,结束)

我的代码有效,但问题是当选择两位数的日期时,字符串会改变其长度。例如:

  1. 7-01-2018 VS 25-01-2019
  2. 17-01-2018 VS 5-01-2019
  3. 27-01-2018 VS 25-01-2019

在这些情况下,startend 将具有不同的含义。我现在应该怎么做。请帮助我。

我的方法是:

myValidator() {

range="7-01-2018 VS 5-01-2019";

startYear=range.substring(5,8);

endYear=range.substring(18,21);

if(endYear<startYear) {
console.log("Invalid range");
}
}

现在我打算使用 split()。并将字符串拆分成不同的部分,然后用它编写一些逻辑。但是 split 的问题是中间有一个VS。但是对于 separator 参数,我可以给出 - 符号。如果我错了,请纠正我。

最佳答案

你是对的 split 会很好

myValidator() {

range="7-01-2018 VS 5-01-2019";

startYear=parseInt(range.split("VS")[0].split("-")[2])

endYear=parseInt(range.split("VS")[1].split("-")[2])

if(endYear<startYear) {
console.log("Invalid range");
}
}

关于javascript - 如何从包含日期范围的字符串中提取年份 [Typescript/Angular],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59452063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com