在javascript中解析MySQL TIME

jmi*_*loy 2 javascript mysql datetime

我通过ajax请求获得MySQL TIMESTAMP和MySQL TIME.在javascript中将时间添加到时间戳的好方法是什么?

鉴于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)
Run Code Online (Sandbox Code Playgroud)
  1. 主要问题:有更好的方法吗?例如,有没有更好的方法转换b为毫秒?[编辑:请不要图书馆.无论多小,我都不会认为它比在一行中解析它更"好".

  2. 次要问题:我如何输出c作为YYYY-MM-DD HH-MM-SS

hom*_*mtg 5

让lib为你做这件事,比如http://momentjs.com/

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");
Run Code Online (Sandbox Code Playgroud)

编辑以满足您解析日期差异的要求:

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");
Run Code Online (Sandbox Code Playgroud)