1

私は少し混乱しています!私は次のJSを持っています

//Set datetimes for the centre of the Timeline and the highlighting period
var myCurrentDateTime = new Date();
var MS_PER_MINUTE = 60000;
var MinsToDeductForCentre = 1440
var MinsEitherSideOfNow = 720
var myTLcenterdate = new Date(myCurrentDateTime - (MinsToDeductForCentre * MS_PER_MINUTE));
var tldate = myTLcenterdate.toString()
var hlStartDate = new Date(myCurrentDateTime - (MinsEitherSideOfNow * MS_PER_MINUTE));
var hlEndDate = new Date(myCurrentDateTime + (MinsEitherSideOfNow * MS_PER_MINUTE));    

myTLcentredate は、現在時刻の 24 時間前の日付を教えてくれます

hlStartDate は、現在の時刻の 12 時間前の日付を教えてくれます

しかし、hlEndDate は NotANumber エラーを出します...

基本的に、myCurrentDateTime と MinsEitherSideOfNow * MS_PER_MINUTE (43200000) の値を文字列として扱い、それらを結合して、たとえば「Thu May 17 10:44:17 UTC+0100 201243200000」とします。

なんで?

4

3 に答える 3

4

日付から分を加算または減算する場合は、これで十分です。

var dSubtract = new Date, 
    dAdd = new Date;
// let dSubtract be Thu May 17 2012 12:11:54 GMT+0200
// and dAdd         Thu May 17 2012 12:11:54 GMT+0200
dSubtract.setMinutes(dSubtract.getMinutes()-1440); 
//=> dSubtract is now: Wed May 16 2012 12:00:54 GMT+0200
dAdd.setMinutes(dAdd.getMinutes()+720);
//=> dAdd is now: Fri May 18 2012 00:00:54 GMT+0200

(もちろん私のタイムゾーンの例)

于 2012-05-17T10:15:05.510 に答える
0

次のように、両方の変数に対して関数 parseInt を使用します。

parseInt(var1) * parseInt(var2)
于 2012-05-17T10:13:49.340 に答える
0

これを試して

function SubtractTime(objStartdatetime, objEnddatetime) {
//var T1 = new Date("2012/02/14 8:10:00");

d = new Date();
     T1 = new Date(objStartdatetime);
     T2 = new Date(objEnddatetime);        
      misec = T2.getTime() - T1.getTime();

}

function AddTime(objStartdatetime, objEnddatetime) { //var T1 = new Date("2012/02/14 8:10:00");

d = new Date();
     T1 = new Date(objStartdatetime);
     T2 = new Date(objEnddatetime);        
      misec = T2.getTime() + T1.getTime();

}

于 2012-05-17T10:16:09.797 に答える