2

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

给定2013-11-06 15:46:03and 1: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为毫秒?[编辑:请不要图书馆。无论多么小,我都不会认为它比自己在一行中解析它“更好”。]

  2. 第二个问题:我如何输出cYYYY-MM-DD HH-MM-SS

4

2 回答 2

5

让一个库为你做这件事,比如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");

编辑以适应您还解析日期差异的要求:

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 回答
2

对于您的第二个问题,我建议您查看这些网站,它们对我有很大帮助:Working with Dates and 10 methods to format time and date using JavaScript

PS我会发表评论,但是是的。代表。

于 2013-11-08T21:52:03.197 回答