gpt4 book ai didi

javascript - 从变量 jquery 计算日期

转载 作者:行者123 更新时间:2023-11-28 17:26:06 25 4
gpt4 key购买 nike

我正在尝试进行预先写入变量中的计算(添加或减去给定日期的天数),但我知道我需要进行一些剥离和替换才能使其正常工作,并且定义日期格式等,但一直在努力。以最简单的形式说,如果我有一个像这样的实际字符串变量;

var newDate = 'Jul 10, 2018 + 1';

如何将其输出为;

Jul 11, 2018

我已经搜索了一段时间,但似乎无法弄清楚如何才能做到这一点,非常感谢任何帮助。谢谢

最佳答案

以下是您可以做到的方法:

  1. 将字符串value除以+以获取日期并在数组中添加数字

  2. 字符串日期解析为Date()

  3. 将所需的添加到新日期

  4. 使用 toLocaleDateString 转换为所需格式

编辑

对于 + 和 - 数字以及多个和,请使用 eval

var inputDay=eval(inputStr[1].trim());

The toLocaleDateString() method returns a string with a language sensitive representation of the date portion of this date. The new locales and options arguments let applications specify the language whose formatting conventions should be used and allow to customize the behavior of the function. In older implementations, which ignore the locales and options arguments, the locale used and the form of the string returned are entirely implementation dependent.

var newDate = 'Jul 10, 2018 + 1';
var inputStr=newDate.split(/\+(.+)/);
var inputDate=inputStr[0].trim();
var inputDay=eval(inputStr[1].trim());
var result=addDays(inputDate,inputDay);
console.log(result);

newDate = 'Jul 10, 2018 + 1 + - 2 + -3';
inputStr=newDate.split(/\+(.+)/);
inputDate=inputStr[0].trim();
inputDay=eval(inputStr[1].trim());
result=addDays(inputDate,inputDay);
console.log(result);

function addDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() + days);
var options = {year: 'numeric',month: 'short', day: 'numeric'};
return result.toLocaleDateString('en-US', options)


}

关于javascript - 从变量 jquery 计算日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572849/

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