【发布时间】:2017-10-23 07:03:38
【问题描述】:
我正在尝试填充两个日期输入字段,一个包含今天的日期,一个包含 30 天前(上个月)的日期。
我的控制台出现错误:priordate.getDate is not a function
这是我的代码,不知道我做错了什么:
//today's date
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;//January is 0, so always add + 1
var yyyy = today.getFullYear();
if(dd<10){dd='0'+dd};
if(mm<10){mm='0'+mm};
today = yyyy+'-'+mm+'-'+dd;
//30 days ago
var beforedate = new Date();
var priordate = new Date().setDate(beforedate.getDate()-30);
var dd2 = priordate.getDate();
var mm2 = priordate.getMonth()+1;//January is 0, so always add + 1
var yyyy2 = priordate.getFullYear();
if(dd2<10){dd2='0'+dd2};
if(mm2<10){mm2='0'+mm2};
var datefrommonthago = yyyy2+'-'+mm2+'-'+dd2;
// Set inputs with the date variables:
$("#fromdate").val(datefrommonthago);
$("#todate").val(today);
【问题讨论】:
-
您是否尝试过使用
moment.js或者那不是一个选项? -
我使用 phonegap 的目的是让它成为一个应用程序,所以如果可能的话,我想避免使用外部库。
-
setDate()的返回值不是Date,所以需要拆分这一行:var priordate = new Date().setDate(beforedate.getDate()-30);
标签: javascript jquery date datetime