我的任务是为一个用 Visual Foxpro 编写的遗留应用程序编写一个 Web 门户。我必须验证怀孕到期日。规则是从当前日期起不能超过 9 个月。我已经试图争辩说这太模糊了,需要几天或几周的时间,但有人告诉我我必须模仿遗留软件。
以下是 VSP 中的代码正在执行的操作:
maxValueForDueDate = GOMONTH(DATE() , 9)
根据MSDN GOMONTH()
处理边缘情况如下:
SET CENTURY ON
STORE GOMONTH({^1998-02-16}, 5) TO gdDeadLine
CLEAR
? gdDeadLine && Displays 07/16/1998
? GOMONTH({^1998-12-31}, 2) && Displays 02/28/1999
? GOMONTH({^1998-12-31}, -2) && Displays 10/31/1998
正如您所见,将 2 个月添加到 12 月 31 日不会导致 3 月 2 日,不幸的是,这正是以下 javascript 所做的:
var dDate = new Date('1998-12-31');
dDate.setMonth(dDate.getMonth() + 2);
alert(dDate.toDateString()); // results in - Tue Mar 02 1999
有没有人有他们为这种情况编写的方便的 javascript 函数?我已经用谷歌搜索了,但没有找到我需要的东西。我的第三方使用受限于 JQuery。