我输入以下代码
var curdte=new Date();
var curdteyr=curdte.getYear();
var curdtemh=curdte.getMonth();
var curdtedy=curdte.getDay();
var dtecurr=(curdtedy "-" curdtemh "-" curdteyr);
var fyear1=fromdat1.substring(6,10,10);
var fmonth1=fromdat1.substring(3,5,10);
var fday1=fromdat1.substring(0,2,10);
var fmdiff=(fday1 "-" fmonth1 "-" fyear1);
var frmdate1=(fyear1 "-" fmonth1 "-" fday1);
var tyear1=todat1.substring(6,10,10);
var tmonth1=todat1.substring(3,5,10);
var tday1=todat1.substring(0,2,10);
var todiff=(tday1 "-" tmonth1 "-" tyear1);
var todate3=(tyear1 "-" tmonth1 "-" tday1);
var oneday=24*60*60*1000;
var frmdiff=new Date(Math.ceil(dtecurr.getTime()-fmdiff.getTime())/oneday);
然后我收到错误:
TypeError:dtecurr.getTime不是函数
答案 0 :(得分:3)
这是因为dtecurr不是Date对象,应该是格式化的字符串,但缺少+
用于连接。我已经将dtecurr传递给Date.parse,它应该创建一个有效的Date对象来调用getTime
:
var frmdiff=new Date(Math.ceil(Date.parse(dtecurr).getTime()-fmdiff.getTime())/oneday);
答案 1 :(得分:0)
dtecurr
是一个字符串。仅仅因为它的格式类似于用户友好的日期,并不意味着它是Date
的实例。
答案 2 :(得分:0)
我想你想要
var dtecurr=new Date(curdtedy + "-" + curdtemh + "-" + curdteyr);
而不是
var dtecurr=(curdtedy "-" curdtemh "-" curdteyr);
答案 3 :(得分:0)
这是因为dtecurr不是这里的Date对象。
将其设为Date对象:
var dtecurr = new Date();
然后按方法setDate()
,setMonth()
和setFullYear()