Programing

Javascript 날짜 객체 timeObject에 10 초 추가

lottogame 2020. 4. 21. 08:16
반응형

Javascript 날짜 객체 timeObject에 10 초 추가


자바 스크립트 날짜 객체 timeObject에 10 초를 어떻게 추가 할 수 있습니까? 이런 것 같아요 ..

var timeObject = new Date()     
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;

있다 setSeconds아니라 방법 :

var t = new Date();
t.setSeconds(t.getSeconds() + 10);

다른 Date 기능 의 목록을 보려면 MDN을 확인하십시오


setSeconds 랩 어라운드 케이스를 올바르게 처리합니다.

var d;
d = new Date('2014-01-01 10:11:55');
alert(d.getMinutes() + ':' + d.getSeconds()); //11:55
d.setSeconds(d.getSeconds() + 10);
alert(d.getMinutes() + ':0' + d.getSeconds()); //12:05


// var timeObject = new Date();

new Date(timeObject.getTime() + 10000);

var timeObject = new Date(); 
timeObject = new Date(timeObject .getTime() + 1000*10);
console.log(timeObject);

또한 JavaScript Date 객체에 30 분을 추가하는 방법을 참조하십시오.


우리 사이의 성능 미치광이를 위해.

getTime

var d = new Date('2014-01-01 10:11:55');
d = new Date(d.getTime() + 10000);

5,196,949 Ops / sec, 가장 빠른


setSeconds

var d = new Date('2014-01-01 10:11:55');
d.setSeconds(d.getSeconds() + 10);

2,936,604 Ops / sec, 43 % 느림


moment.js

var d = new moment('2014-01-01 10:11:55');
d = d.add(10, 'seconds');

22,549 Ops / sec, 100 % 느림


아마도 가장 인간이 읽을 수는 없지만 (나쁜 것은 아니지만) 가장 빠른 방법 :)

jspref 온라인 테스트


이 시도

a = new Date();
a.setSeconds(a.getSeconds() + 10);

timeObject.setSeconds(timeObject.getSeconds() + 10)

몇 가지 새로운 변종이 있습니다.

  1. var t = new Date(Date.now() + 10000);
  2. var t = new Date(+new Date() + 10000);

Date()자바 스크립트 객체는 그렇게 똑똑하지 않습니다.

초를 추가하는 데 집중하면 부드럽게 처리하는 것처럼 보이지만 X 초를 추가하려고하면 X 분 및 시간 등을 같은 Date객체에 추가하여 문제가 발생합니다. 그래서 나는 단순히 setSeconds()방법을 사용하고 내 데이터를 초로 변환 하는 것으로 돌아 갔습니다 (잘 작동했습니다).

누구나 Date()모든 set 메소드를 사용하여 전역 객체에 시간을 추가하는 것을 보여줄 수 있고 마지막 시간이 올바르게 나오도록하고 싶지만 주어진 Date()객체 에서 한 번에 하나의 set 메소드가 사용된다는 의미가 있습니다. 그것들을 섞으면 엉망이됩니다.

var vTime = new Date();

var iSecondsToAdd = ( iSeconds + (iMinutes * 60) + (iHours * 3600) + (iDays * 86400) );

vTime.setSeconds(iSecondsToAdd);

다음은 도움이 될만한 추가 문서입니다 .


  1. setSeconds오늘부터 몇 초 만에 10 초만 추가 하면 방법을 사용할 수 있습니다

    var today = new Date();
    today.setSeconds(today.getSeconds() + 10);
    
  2. 새 날짜에 10 * 1000 밀리 초를 추가 할 수 있습니다.

    var today = new Date(); 
    today = new Date(today.getTime() + 1000*10);
    
  3. 당신은 사용할 수 있습니다 setTime:

    today.setTime(now.getTime() + 10000)
    

참고 URL : https://stackoverflow.com/questions/7687884/add-10-seconds-to-a-javascript-date-object-timeobject

반응형