2014-07-25 3 views
0

지금 데이터베이스 (Node)를 사용하여 MySQL 데이터베이스를 업데이트하면 정상적으로 작동하지만 코드가 약간 반복됩니다.노드 MySQL 형식의 JavaScript 타임 스탬프

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; 

얼마나 적은 수의 문자로 동일한 결과를 얻을 수 있습니까?

답변

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의 구성 부품을 분할 배열을 설정하지만,하지 않는 한 자신이 필사적으로 필요로 찾을 수있는 다른

Alteratively 누군가 스크립트의 실행 시간을 줄이고 걱정하지 마십시오.

속도 향상을 정량화 할 수 없다면 엄지 손가락으로 최적화를 시도해서는 안됩니다. 그 반면에 ...

을 위반하지 않는 경우, 당신은

+0

YYYY-MD H : M : S 대신 YYYY-MM-DD HH : MM : SS를 올바르게 포맷하려면 다음과 같이하면됩니다 :'var timeNow = yearNow + ' ('00 '+ dayNow) .slice (-2) +' '+ 문자열 ('00'+ ' (-2) + ':'+ 문자열 ('00 '+ secondNow) .slice (-2)'.slice (-2) +': '+ 문자열 ('00'+ minuteNow) – Niklas

1

http://perlgolf.sourceforge.net/ 여기 moment.js

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

한 번 봐 타고 jsfiddle처럼 수 있습니다. nodeJS를 사용하려면 var moment = require('moment');을 사용할 수 있습니다. 나머지 코드는 동일합니다.