-1

現在の時間に余分な時間を追加するのにいくつかの助けが必要です

currentTime= new Date(); 
var hours2 = currentTime.getHours() + 4;
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);

ただし、次のように出力されます:15:1455880112692PMで、4.5時間を追加していないようです。誰かがこれについて何かアイデアがありますか?

4

4 に答える 4

2

これは、議事録を取得していないためです。Date オブジェクトを取得しています。このsetMinutesメソッドは分を返さず、Date オブジェクト自体を返します。Date オブジェクトを文字列に変換して表示すると、エポックからの時間がミリ秒単位で表示されます。

27:93最初に時間を変換して、代わりに のようなものではなく、ラップオーバーする正しい時間を取得します04:33

currentTime = new Date();
currentTime.setHours(currentTime.getHours() + 4);
currentTime.setMinutes(currentTime.getMinutes() + 30);

次に、そこから時間と分を取得できます。

var hours2 = currentTime.getHours();
var minutes2 = currentTime.getMinutes();

4 時間 30 分を追加する代わりに、270 分を追加できます。

currentTime = new Date();
currentTime.setMinutes(currentTime.getMinutes() + 270);
于 2012-09-17T10:17:55.227 に答える
1

何が問題なのかについて、いくつかのアイデアがあります。

currentTime= new Date(); 
var hours2 = currentTime.getHours() + 4;//doesn't call the setHours method
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);//works fine for me

そう

currentTime= new Date(); 
var hours2 = currentTime.setHours(currentTime.getHours() + 4);//doesn't call the setHours method
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);//works fine for me

うまくいきますが、ワンライナーでこれを行うことができます:

currentTime.setMinutes(currentTime.getMinutes() + 270);
//or in seconds:
currentTime.setSeconds(currentTime.getSeconds() + 270*60);//16200 === 4.5 hrs
//or miliseconds:
currentTime.setTime(currentTime.getTime() + 270*60000);//16200000 === 4.5 hrs
于 2012-09-17T10:18:48.090 に答える
0

あなたは決して時間を設定しません。試す:

currentTime= new Date(); 
currentTime.setHours(currentTime.getHours() + 4);
currentTime.setMinutes(currentTime.getMinutes() + 30);
于 2012-09-17T10:15:36.147 に答える
0

これを試してみてください。あなたが抱えている問題が本当にわかりませんか? http://jsfiddle.net/H9edz/

currentTime= new Date(); 
var hours2 = currentTime.getHours() + 4;
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);
document.write("Ending Time: " + currentTime);
document.write("<br/>");
document.write("Ending Minute: " + currentTime.getMinutes());
document.write("<br/>");
var now = new Date();
now.setMinutes(now.getMinutes() + 30);
document.write("Example Time - From Post:" + now)

</p>

于 2012-09-17T10:22:19.393 に答える