MySQL格式的节点JavaScript时间戳

时间:2014-07-25 21:18:42

标签: javascript mysql node.js datetime

我正在使用Node(Express.js)用日期更新MySQL数据库,它工作正常,但我的代码有点重复。

var newYears = new Date();
var newMonths = new Date();
var newDays = new Date();
var newHours = new Date();
var newMinutes = new Date();
var newSeconds = new Date();
var yearNow = newYears.getFullYear();
var monthNow = newMonths.getMonth();
var dayNow = newDays.getDate();
var hourNow = newHours.getHours();
var minuteNow = newMinutes.getMinutes();
var secondNow = newSeconds.getSeconds();
var timeNow = yearNow + '-' + ( monthNow + 1 ) + '-' + dayNow + ' ' + hourNow + ':' + minuteNow + ':' + secondNow;

用几个字符可以达到同样的结果?

2 个答案:

答案 0 :(得分:1)

你可以减少这样的开销:

   var basedate = new Date();
   var yearNow = basedate.getFullYear()
   var monthNow = basedate.getMonth();
   var dayNow = basedate.getDate();
   var hourNow = basedate.getHours();
   var minuteNow = basedate.getMinutes();
   var secondNow = basedate.getSeconds();
   var timeNow = yearNow + '-' + ( monthNow + 1 ) + '-' + dayNow + ' ' + hourNow + ':' +   minuteNow + ':' + secondNow;

另外,其他人可能会设置一个数组来拆分Dateobject的组件部分以节省几个处理器周期,但除非您发现自己迫切需要缩短脚本的执行时间,否则不要担心。

一个好的经验法则是,如果你无法量化加速,你不应该尝试优化它。如果没有破产......

另一方面,您可能想要http://perlgolf.sourceforge.net/

答案 1 :(得分:1)

查看moment.js

var now = moment().add(1,'month').format("YYYY-MM-DD h:mm:ss A");   

这是jsfiddle。如果要使用nodeJS,可以使用var moment = require('moment');。其余代码将是相同的。