Javascript에서 신기원 이후 몇 초를 얻을 수 있습니까?


152

유닉스에서는 date '+%s'에포크 이후 초를 얻기 위해 달릴 수 있습니다 . 그러나 백엔드가 아닌 브라우저 프론트 엔드에서 쿼리해야합니다.

JavaScript에서 Epoch 이후 초를 찾는 방법이 있습니까?

답변:


246
var seconds = new Date() / 1000;

또는 덜 해킹 된 버전의 경우 :

var d = new Date();
var seconds = d.getTime() / 1000;

가장 가까운 정수로 반올림 Math.floor()하거나 Math.round()반올림 하지 마십시오. 원하지 않는 매우 홀수 인 소수를 얻을 수 있습니다.

var d = new Date();
var seconds = Math.round(d.getTime() / 1000);

8
var seconds = new Date() / 1000;<-어떤 종류의 신비로운 마법입니까?
Martin Wickman

3
Re : arcane magic : 이 문서들에 따르면 Javascript는 Date 객체를 Number로 변환하는 방법을 알고 있습니다. 즉 Number(new Date()), 숫자를 얻기 위해 입력 하거나 +(new Date()), 또는 숫자 컨텍스트에서 Date 인스턴스를 사용할 수 new Date()/1000있으며 Javascript는 해당 Date 인스턴스를 수학 방정식과 함께 사용할 수 있도록 숫자로 변환합니다.
dpmott

59

이 시도:

new Date().getTime() / 1000

밀리 초 분수 를 사용 Math.floor()하거나 Math.round()잘라 내고 싶을 수도 있습니다 .


39

에포크 이후 몇 초를 원했다

function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }

사용 예

foo = seconds_since_epoch();

3
소수점을 고려할 때 답이되어야합니다.
제임스 팩

11

위의 솔루션은 인스턴스 속성을 사용합니다. 또 다른 방법은 클래스 속성을 사용하는 것입니다 Date.now.

var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;

time_in_seconds를 정수로 사용하려면 두 가지 옵션이 있습니다.

ㅏ. C 스타일 잘림과 일관성을 유지하려는 경우 :

time_in_seconds_int = time_in_seconds >= 0 ?
                      Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);

비. 정수 나누기의 수학적 정의를 유지하려면 바닥을 가져 가십시오. (Python의 정수 나누기가 이것을 수행합니다).

time_in_seconds_int = Math.floor(time_in_seconds);

9

당신이 원하는 경우 에만 초 여전히 부착 된 밀리 초를 나타내는 소수점없이 정수로를, 이것을 사용 :

var seconds = Math.floor(new Date() / 1000);

5

Date 객체 (현재 시간이 있음)를 만든 다음 getTime()에포크 이후 ms를 얻기 위해 호출 할 수 있습니다.

var ms = new Date().getTime();

초를 원한다면 1000으로 나눕니다.

var sec = new Date().getTime() / 1000;




0
EPOCH means time from 01 January 1970
var date = new Date();
Following line will return the number of milliseconds from 01 Jaunary 1970
var ms = date.getTime();
Following line will convert milliseconds to seconds
var seconds = Math.floor(ms/1000);
console.log("Seconds since epoch =",seconds);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.