2

ajaxリクエストを介してMySQLTIMESTAMPとMySQLを取得します。TIMEjavascriptでタイムスタンプに時間を追加する良い方法は何ですか?

と が与えられる2013-11-06 15:46:031:00:00、結果は になります2013-11-06 16:46:03。以下に、部分的な解決策があります。

a = "2013-11-06 15:46:03";
b = "1:00:00";

//convert a to timestamp (in milliseconds)
a_ms = Date.parse(a);

//convert b to milliseconds
b_vals = b.split(':');
b_ms = 360000*bvals[0] + 60000*bvals[1] + 1000*bvals[2];

//add and convert to Date object
c = new Date(a_ms + b_ms); //Wed Nov 06 2013 15:52:03 GMT-0500 (EST)
  1. 主な質問:これを行うためのより良い方法はありますか? たとえば、bミリ秒に変換するより良い方法はありますか? [編集: ライブラリはありません。どんなに小さくても、自分で1行で解析するよりも「良い」とは思いません。]

  2. 二次的な質問: どうすれば出力できますcYYYY-MM-DD HH-MM-SS?

4

2 に答える 2

5

http://momentjs.com/のように、libにそれをさせてください

var a = moment("2013-11-06 15:46:03");
var b = moment(a).add('hours', 1);
var c = b.format("YYYY-MM-DD HH-mm-ss");

日付の違いも解析するという要件に合わせて編集します。

var a = moment("2013-11-06 15:46:03");
var b = moment("1:00:00", "HH:mm:ss");
var c = moment(a).add(b).format("YYYY-MM-DD HH-mm-ss");
于 2013-11-08T21:52:47.677 に答える