2016-06-17 7 views
0

私は以下のような単純な時間計算コードを持っていると私は時間にapp

var app = "16:30"; 
 
var dt = new Date(); 
 
var time = dt.getHours() + ":" + dt.getMinutes(); 
 
var res = app - time; 
 
console.log(res);

をデフォルトに今から残り時間を取得したいと思いことができますしてください私はそれを行う方法を教えてください?

答えて

1

ああ男 - 数学の唯一のこの種は、文字列で働いていた場合!ある文字列を別の文字列から差し引いてみようとしています。その結果、何が起こるのかは不明です。代わりに、このような何か試してみてください:

var appDate = new Date(); 
appDate.setHours(16); 
appDate.setMinutes(30); 
appDate.setSeconds(0); 
appDate.setMilliseconds(0); 

alert(appDate); 

var now = new Date(); 

alert(now); 

var diff = appDate.getTime() - now.getTime(); 

alert(diff + " milliseconds remaining."); 

jsfiddle

+1

または 'appDate.setHours(16,30,0,0);' – mplungjan

1

文字列を引くことはできません。日付で作業する必要があります。

文字列を日付に変換することもできます。

var dateStr = "16:30" 
 
var app = new Date(); 
 
var tmp = dateStr.split(":"); 
 
app.setHours(tmp[0],tmp[1]); 
 

 
var time = new Date(); 
 
var res = (new Date(time - app)+'').split(" ")[4]; 
 
console.log(res);

+0

'新日(アプリ - 時間);'?なぜか 'Math.abs(time.getTime() - app.getTime())' – mplungjan

+0

@mpl私のコードにはどんな問題がありますか? – nicael

+0

1969年に日付を与えています。 "" 1969-12-31T19: 56:00.000Z "'の代わりに、数分やその他の有用なものがあります。あなたの分割もJavaScriptではありませんでした。 – mplungjan