2016-12-23 6 views
1

"201442"のように提出されるテキストボックスから変数をプルすると、20:14:42の時間になり、出力20:14の5秒が減算されます37。これまでのところ私が持っている:JavaScriptから変数を5秒取り除く

<!doctype html> 
 
<html> 
 
<head> 
 
<meta charset="utf-8"> 
 
<title>-5</title> 
 
<script> 
 
var incomingtime = "0"; 
 
</script> 
 
<script> 
 
    function calctime(){ 
 
\t \t incomingtime = document.getElementById("inputtime").value; 
 
\t \t alert (incomingtime); 
 
    } 
 
</script> 
 

 
</head> 
 

 
<body> 
 
<input type="text" id="inputtime"/><input type="text" id="outputtime"/><br> 
 
<button onclick="calctime()">-5 Dat</button> 
 
</body> 
 
</html>

最善のアプローチでしょうか?入力を3つのセクションに分割し、そのように計算しますか?または、より簡単なソリューションがありますか?どうやって最初の2つの文字を変数に、3番目と4番目をvarに、5番目と6番目をvarに計算するのですか?

+1

Moment.jsはこのようなもののための美しいライブラリです。 http://momentjs.com/docs/#/manipulating/subtract/ – mhodges

+0

入力を 'Date'オブジェクトに変換してから、' d.setSeconds(d.getSeconds-5) 'を使用してください。 – Barmar

答えて

1

私は、あなたがあなたの文字列を解析し、日付()オブジェクトにあなたの時間を置く必要があり、あなたが次のようにそれを解析することができ、あなたの時間の価値 上の任意の計算を行うために容易になります推測:

timeObj = new Date(0,0,0, 
    incomingtime.substring(0, 2), 
    incomingtime.substring(2, 4), 
    incomingtime.substring(4, 6)); 

次に、オブジェクトの「取得」機能を使用して値を実行することができます。 値を変更したい場合は、時間を加算または減算するだけです(ミリ秒単位)。たとえば、5秒を減算する場合は、次のようにします。

timeObj -= 5*1000; 
+0

提供しない場合詳細なコード例ですが、これは単にコメントでなければなりません。十分な評判を得ると、他のポスターの質問にコメントすることができます。 – Barmar

+0

@Barmar「詳細なコード例」とは何を意味するのですか?私はstackoverflowを初めて使っています。なぜ、私は答えをコメントとして入力すべきか理解できません。私はそれの説明とコードの例を与える、なぜ、それは答えとして考えることができないのですか? –

+0

コメントの後にコードを追加しました。 – Barmar

関連する問題