JavaScript에서 타임 스탬프를 어떻게 얻습니까?


4013

JavaScript에서 타임 스탬프를 얻으려면 어떻게해야합니까?

유닉스 타임 스탬프 와 비슷한 것 , 즉 현재 시간과 날짜를 나타내는 단일 숫자. 숫자 또는 문자열 중 하나입니다.


JS에서 64 비트 타임 스탬프를 얻는 방법?
Alexander Mills

@AlexanderMills JavaScript는 64 비트 정수를 지원하지 않으므로 두 개의 32 비트 정수를 가져와야합니다. 다른 질문을하십시오.
wizzwizz4

답변:


4911

짧고 멋진 :

+ new Date()

단항 연산자 는 객체 plusvalueOf메서드를 트리거 Date하고 타임 스탬프를 변경없이 반환합니다.

세부:

거의 모든 현재 브라우저 Date.now()에서 UTC 타임 스탬프를 밀리 초 단위 로 가져 오는 데 사용할 수 있습니다 . 이에 대한 예외는 IE8 및 이전 버전입니다 ( 호환성 표 참조 ).

그래도 쉽게 shim을 만들 수 있습니다.

if (!Date.now) {
    Date.now = function() { return new Date().getTime(); }
}

타임 스탬프를 초 단위로 얻으려면 다음을 사용할 수 있습니다.

Math.floor(Date.now() / 1000)

또는 다음을 사용할 수 있습니다.

Date.now() / 1000 | 0

어느 것이 더 빠르지 만 읽기 쉽지 않습니다 ( 이 답변참조하십시오 ).

Date.now()(호환성 심 포함)을 사용하는 것이 좋습니다 . 더 짧고 새 Date객체를 만들지 않기 때문에 약간 좋습니다 . 그러나 shim 및 최대 호환성을 원하지 않는 경우 "old"방법을 사용하여 밀리 초 단위 의 타임 스탬프를 얻을 수 있습니다 .

new Date().getTime()

그런 다음 다음과 같이 초로 변환 할 수 있습니다.

Math.round(new Date().getTime()/1000)

그리고 valueOf위에서 보여준 방법을 사용할 수도 있습니다 .

new Date().valueOf()

밀리 초 단위의 타임 스탬프

var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now();

console.log(timeStampInMs, Date.now());


11
주목할만한 또 다른 예외는 node.js입니다. 나는 같은에서 노드 할 찾고 구글에서 여기에 온
밀라노 Babuškov

57
하지 않음 Date.now() / 1000 | 0으로부터 고통을 2038 년 문제 ? new Date('Jan 1, 2039') / 1000 | 0 == -2117514496
gengkev

3
또는 심지어 Math.floor.를 사용하지 않고.~~(Date.now() / 1000)
Matej

14
@ MilanBabuškov 그러나 node.js는 지원합니다Date.now()
OrangeDog

51
+new Data영리 하지만 다른 개발자는 읽을 수 없습니다. Date.now()더 명확하고 다른 사람들이 무슨 일이 일어나고 있는지 알 수 있습니다.
Harry Sadler

514

작기 때문에 이것을 좋아합니다.

+new Date

나는 또한 짧고 현대적인 브라우저와 호환되며 500 명 이상이 더 낫다고 투표했기 때문에 이것을 좋아합니다.

Date.now()

636
이 옵션은 나쁜 생각입니다. 쉽게 간과되고 오타처럼 보이며 실제로 언어 부작용에 의존합니다. 잘못된 코드가 보입니다.
inanutshellus

10
@Billy 제가 기억하는 것처럼, 두 개의 제안 된 솔루션 각각에서 1M 번 타임 스탬프를 계산하고 평균 런타임을 계산했습니다. Firefox와 Chrome에서 실행했으며 두 브라우저에서 getTime이 더 빠릅니다. 그것은 (마지막으로) 느리더라도을 선택한다고 말했습니다 new Date().getTime(). 운 좋게도 빠른 솔루션은 이미 읽기 쉬운 솔루션입니다!
inanutshellus

11
@ FabrícioMatté와 동의 함. 단항 연산자의 동작은 초보적인 것이 아니지만이를 해결하지 않은 경우 많은 팀에서 효과적으로 기능 할 수있을 것으로 기대하지 마십시오.
Jason T Featheringham 1

9
@Niklaus 그것은 다른 문자열로 연결하기 때문입니다. 이 경우 new Date().toString()호출됩니다.
kirb

7
호기심에서 +운영자가 문자열처럼 보이게하기 위해 무엇을하고 있습니까?
zadubz

276

신기원 이후 자바 스크립트는 밀리 초 단위로 작동하지만 다른 대부분의 언어는 초 단위로 작동합니다. 밀리 초로 작업 할 수 있지만 PHP라고하는 값을 전달하면 PHP 기본 기능이 실패 할 수 있습니다. 따라서 항상 밀리 초가 아닌 초를 사용해야합니다.

그러면 Unix 타임 스탬프 (초)가 표시됩니다.

var unix = Math.round(+new Date()/1000);

이것은 신기원 이후의 밀리 초 (유닉스 타임 스탬프 아님)를 제공합니다.

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

4
PHP는 microtime () 함수와 함께 자체를 사용하기 때문에 밀리 초로 잘 작동합니다.
니코 번즈

5
microtime ()이 있지만 PHP의 대부분의 시간 관련 함수는 타임 스탬프가 밀리 초가 아닌 초 단위로 예상합니다. 또한 microtime ()은 부동 소수점을 반환하면 (소수점 통과) 소수 부분은 1 초 (마이크로 초)의 분수이며 newDate (). getTime ()은 밀리 초를 계산하는 정수를 반환합니다. 신기원. 예를 들어 (php) floor (microtime (true))를 호출하는 경우 마이크로 또는 밀리 초가 아닌 초 단위의 time () 호출과 사실상 동일합니다. 위와 같이 1000으로 나누는 것이 가장 쉬운 해결책입니다.
gregghz

49
라운드 대신 바닥을 사용하십시오.
700ms

Unix timestampSeconds since the Epoch. 이 두 사람이 같은 것을 의미하지 않습니까?
Mudiaga Ejenavi

147
var time = Date.now || function() {
  return +new Date;
};

time();

6
왜 || 운영자? 모든 브라우저에서 Date.now ()를 사용할 수 있습니까?
Chris Noe

67
Date.now () 는 JavaScript 1.5에서 제공되며 IE 8에서 지원되지 않습니다.
Søren Løvborg

9
Date.now 메소드를 지원하도록 업데이트되지 않은 엔진은 다음 shim을 사용하여 엔진이없는 상태에서 작동 할 수 있습니다. if (! Date.now) {Date.now = function now () {return + (new Date); }; }
퀘스트 당 Aronsson

또는(Date.now||function(){return +new Date})();

130

이 답변에 설명이 포함 된 여러 솔루션을 제공합니다.
PS 가 확실치 않은 것이 있으면 언제든지 질문하십시오 .


빠르고 더러운 솔루션 :

Date.now() /1000 |0

경고 :이 2,038에서 휴식과 당신이 할 경우 음수를 반환 |0마법을. Math.floor()그때까지 대신 사용하십시오

Math.floor() 해결책:

Math.floor(Date.now() /1000);

Derek의 일부 nerdy 대안은 이 답변 아래의 의견에서 발췌했습니다.

new Date/1e3|0

Date.now()작업 을위한 폴리 필 :

IE에서 작동하게하려면 다음을 수행하십시오 ( MDN의 폴리 필 ).

if (!Date.now) {
    Date.now = function now() {
        return new Date().getTime();
    };
}

연도 / 요일 / 일광 절약 시간에 신경 쓰지 않으면 2038 년 후에 제거하고 사용할 수 있습니다.

var now = (function () {
    var year = new Date(new Date().getFullYear().toString()).getTime();
    return function () {
        return Date.now() - year
    }
})();

어떻게 보일지에 대한 결과 :

new Date()
Thu Oct 29 2015 08:46:30 GMT+0100 (Mitteleuropäische Zeit )
new Date(now())
Thu Oct 29 1970 09:46:30 GMT+0100 (Mitteleuropäische Zeit )

물론 일광 절약 시간이 중단되지만 int32가 2038 년에 중단 된 후 타임 스탬프에서 이진 연산을 수행 해야하는 경우 빌드하는 내용에 따라 유용 할 수 있습니다.

또한 음수 값을 반환하지만 코드를 실행하는 PC 사용자가 PC 시계를 전년 12 월 31 일로 변경 한 경우에만 음수 값을 반환합니다.


코드가 처음 실행될 때부터 상대 시간을 알고 싶다면 다음과 같이 사용할 수 있습니다.

var relativeTime = (function () {
    var start = Date.now();
    return function () {
        return Date.now() - start
    }
})();

jQuery를 사용하는 경우 내부적으로 동일한 기능을 수행하기 때문에 폴리 필을 더 이상 사용 하지 않는 jQuery의 문서에$.now() 설명 된대로 사용할 수 있습니다 .$.now()(new Date).getTime()

jQuery 버전에 만족한다면 답변을 직접 찾지 못했습니다.


이제 무엇에 대한 작은 설명 |0이 있습니다.

을 제공 |하면 인터프리터에게 이진 OR 연산을 수행하도록 지시합니다. 비트 연산에는 10 진수 결과를 Date.now() / 1000정수로 변환하는 절대 숫자가 필요 합니다.

해당 변환 중에 소수는 제거 Math.floor()되므로 코드 를 사용 하지만 코드 를 사용하는 것과 동일한 결과가 발생 합니다.

경고 : 64 비트 double을 32 비트 정수로 변환합니다. 이로 인해 많은 수를 처리 할 때 정보가 손실 될 수 있습니다. 32 비트 정수 오버플로로 인해 2038 이후 타임 스탬프가 중단됩니다.


자세한 내용은 Date.now다음 링크를 참조하십시오 : Date.now()@ MDN


12
| 0은 비트 연산 (float에서는 작동하지 않음)이므로 Math.floor ()와 유사합니다. 보통 함수 호출이 아니기 때문에 Math.floor ()보다 훨씬 빠릅니다. 네이티브 자바 스크립트 연산자입니다.
GottZ


@Christophe 왜 그렇게 생각하십니까? IE 수정 때문에? 그 부분을 제외하고는 매우 간단하고 사용자 정의 할 수 있다고 생각합니다.
GottZ

5
폴리 필 / 심은 복잡하지 않습니다. 9 가지 브라우저 버전을 지원하고 업계에서 채택한 표준과 구성하는 표준을 선택하기로 결정한 결과입니다.
rlemon

8
참고로 가장 컴팩트 한 것은입니다 new Date/1e3|0.
Derek 朕 會 功夫


61

jQuery 는 타임 스탬프를 얻는 고유 한 방법 을 제공합니다 .

var timestamp = $.now();

(그냥 (new Date).getTime()표현을 구현 하는 것 외에도 )

REF : http://api.jquery.com/jQuery.now/


2
jQuery는 또한 다른 JavaScript API와의 브라우저 간 호환성 문제를 처리합니다.
Henry Heleine

4
@VisioN Node.js에서 타임 스탬프를 수행하는 방법을 찾았습니다. stackoverflow에서 Javascript 질문을 발견했으며 jQuery에서 답변을 얻지 만 도움이되지 않습니다. 자바 스크립트와 jQuery는 두 가지입니다. 우리가 모든 자바 스크립트 프레임 워크에 대한 답변을 제공하면 무한한 수의 답변으로 끝납니다. 이는 스택 오버 플로우의 Q / A 철학에 위배됩니다. 또한 : i.stack.imgur.com/Ledgt.gif : D
피에르 Arlaud

5
@VisioN 누가 자바 스크립트를 브라우저에서 사용해야한다고 말했습니까?
Pierre Arlaud

5
@PierreArlaud 그리고 누가이 질문이 NodeJS에 관한 것이라고 말했습니까?
VisioN

2
@KingRider parseInt결과 값은 항상 이므로 필요하지 않습니다 Number.
VisioN

46

console.log(new Date().valueOf()); // returns the number of milliseconds since the epoch


4
이것은 +new Date.. :)
19 시간

8
그냥Date.now()
올랜도

@Orlando는 다른 답변을 참조하십시오. now ()의 문제는 브라우저 지원입니다.
Christophe


4
@Orlando 정확히, Date.now ()하지 마십시오
Christophe

43

다른 옵션 외에도 dateformat ISO를 원한다면 직접 얻을 수 있습니다.

console.log(new Date().toISOString());


질문이있는 정수를 반환하지 않습니다!
alexventuraio

@AlexVentura 문자열 dateformat ISO를 사용하면 날짜 객체를 인스턴스화하고 그 사이를 뺄 수 있습니다. 예를 들면 :new Date("2017-05-04T07:11:28.940Z") - new Date("2017-05-04T07:11:14.092Z")
Joaquinglezsantos

41

간단히 말해서, 자바 스크립트로 타임 스탬프 문자열을 반환하는 함수가 있습니다. 예 : 15:06:38 오후

function displayTime() {
    var str = "";

    var currentTime = new Date()
    var hours = currentTime.getHours()
    var minutes = currentTime.getMinutes()
    var seconds = currentTime.getSeconds()

    if (minutes < 10) {
        minutes = "0" + minutes
    }
    if (seconds < 10) {
        seconds = "0" + seconds
    }
    str += hours + ":" + minutes + ":" + seconds + " ";
    if(hours > 11){
        str += "PM"
    } else {
        str += "AM"
    }
    return str;
}

11
OP는 정수 타임 스탬프를 요구하고 있습니다. 이것은 시간의 문자열 표현입니다.
Brad Koch

3
"유닉스 타임 스탬프와 비슷한, 즉 현재 시간을 나타내는 단일 숫자"
Brad Koch

시간을 표시하는 코드가 있었지만 호주의 일부는 완전한 날짜를 보여주었습니다.이 스크립트는 코드를 세분화하고 올바르게 표시하는 데 도움이되었습니다. (+1)
Syfer

40

JavaScript 의 기본 객체 인 Date 는 시간에 대한 모든 데이터를 얻는 방법입니다.

JavaScript에서 타임 스탬프는 클라이언트 컴퓨터 세트에 따라 다르므로 100 % 정확한 타임 스탬프는 아닙니다. 최상의 결과를 얻으려면 서버 측 에서 타임 스탬프를 가져와야 합니다 .

어쨌든, 내가 선호하는 방법은 바닐라를 사용하는 것입니다. 이것은 JavaScript에서 일반적인 방법입니다.

Date.now(); //return 1495255666921

MDN에서는 다음과 같이 언급됩니다.

Date.now () 메서드는 1970 년 1 월 1 일 00:00:00 UTC 이후 경과 된 밀리 초 수를 반환합니다.
now ()는 Date의 정적 메서드이므로 항상 Date.now ()로 사용합니다.

ES5 이하 버전을 사용하는 경우 Date.now();작동하지 않으며 다음을 사용해야합니다.

new Date().getTime();

29

내가 아직 보지 못한 것

Math.floor(Date.now() / 1000); // current time in seconds

내가 아직 보지 못한 또 하나는

var _ = require('lodash'); // from here https://lodash.com/docs#now
_.now();

1
Date.now() /1000 |0동일하고 전에 답변되었습니다
GottZ

3
잘. 나는 Math.floor()그것을 편집했지만와 동일한 효과가 있음을 분명히하기 위해서만 편집 했습니다 |0. 난 당신이나 아무것도 다치게하고 싶지 않았다. 나는 당신에게 어떤 식 으로든 당신의 대답이 이미 존재한다고 말하고 싶었습니다. 주어진 모든 답변을 살펴보면 어떤 식 으로든 바닥에 주목하는 사람들이 있습니다.
GottZ

Lodash 라이브러리 전체를 가져 오는 것만으로도 _.now()약간 과잉 이라고 생각합니다 . 사용해야하는 Lodash 기능 (이 경우 NPM의 _.now ()) 만 가져 오는 것이 좋지만을 사용하기 위해 패키지를 더 이상 사용하지 않습니다 Date.now().
mgthomas99

27

Date.getTime()방법은 약간의 조정으로 사용할 수 있습니다.

getTime 메소드가 리턴 한 값은 1970 년 1 월 1 일 00:00:00 UTC 이후의 밀리 초 수입니다.

floor필요한 경우 결과를 1000으로 나누어 유닉스 타임 스탬프를 얻습니다 .

(new Date).getTime() / 1000

Date.valueOf()방법은 기능적으로와 Date.getTime()동일하므로 날짜 객체에서 산술 연산자를 사용하여 동일한 결과를 얻을 수 있습니다. 제 생각에는이 접근 방식은 가독성에 영향을 미칩니다.


7
괄호가 필요하지 않습니다.new Date().getTime() / 1000
Ry-

14
필요하지 않지만 코드를 더 읽기 쉽게 (IMHO) 만듭니다. 맛의 문제라고 생각합니다.
johndodo

당신은 필요하지 않습니다 ()new Date.getTime()이후 /의 뜻 어쨌든 숫자로 Date 객체를 캐스팅.
Derek 朕 會 功夫

25

코드 Math.floor(new Date().getTime() / 1000)는로 단축 될 수 있습니다 new Date / 1E3 | 0.

직접 getTime()호출 을 건너 뛰고 기능 | 0의 대체로 사용하십시오 Math.floor(). 또한 1E3더 짧다는 것을 기억하는 것이 좋습니다 1000( 1E3상수 로 표시하려면 대문자 E가 소문자보다 선호 됨 ).

결과적으로 다음과 같은 결과가 나타납니다.

var ts = new Date / 1E3 | 0;

console.log(ts);


3
@dchest 37-14 "Math.floor(new Date().getTime()/1000)".length == 37; "new Date/1E3|0".length == 14; = 23 바이트;
Valentin Podkamennyi

@MatthieuCharbonnier 정확히 읽을 수없는 것은 무엇입니까? 분할 부호, 1E3, 파이프 또는 제로? 위의 답변에서 코드 스 니펫을 참조하십시오.
Valentin Podkamennyi

1
@Valentin 이점이 거의없는 간단한 코드를 축소 / 복잡화하고 있습니다. 나는 그렇게 할 요점이 없다. 우리는 코드 골프에 없습니다!
Matthieu Charbonnier

@MatthieuCharbonnier, 복잡한 기본 구문과 연산자는 없습니다. 요점은 짧고 명확하며 이해하기 쉬운 코드를 작성하는 것입니다.
Valentin Podkamennyi

2
교체 방법 @Valentin 저를 설명해주십시오 Math.floor()의해 |0"명확하고 이해하기"이 코드를하고있다. 로 교체 1000하여 1 바이트를 절약 할 수있는 점이 무엇인지 설명하십시오 1E3. 이건 말도 안돼 잘못된 코드가 보입니다.
Matthieu Charbonnier

24

공연

오늘-2020.04.23 선택한 솔루션에 대한 테스트를 수행합니다. Chrome 81.0, Safari 13.1, Firefox 75.0의 MacOs High Sierra 10.13.6에서 테스트했습니다.

결론

  • 솔루션 Date.now()(E)는 Chrome 및 Safari에서 가장 빠르며 Firefox에서 두 번째로 빠르며 빠른 크로스 브라우저 솔루션에 가장 적합합니다.
  • performance.now()놀랍게도 솔루션 (G)는 Firefox의 다른 솔루션보다 100 배 이상 빠르지 만 Chrome에서는 느립니다.
  • 솔루션 C, D, F는 모든 브라우저에서 상당히 느립니다.

여기에 이미지 설명을 입력하십시오

세부

크롬에 대한 결과

여기에 이미지 설명을 입력하십시오

당신은 당신의 시스템에서 테스트를 수행 할 수 있습니다 여기에

테스트에 사용 된 코드는 아래 스 니펫에 표시됩니다.


performance.now()스탬프 측면에서 가장 정확한 것으로 테스트 했으므로 관심이 있습니다 .
SamsonTheBrave

@SamsonTheBrave 귀하의 의견에 감사드립니다-답변 업데이트
Kamil Kiełczewski

업데이트 감사합니다! Firefox에서 성능의 속도 차이가 나타났습니다. 이것은 Firefox의 결과 일 수 있으며 privacy.reduceTimerPrecision결과는 가장 가까운 밀리 초로 반올림됩니다. 기본적으로 활성화되어 있지만 비활성화 할 수 있습니다. developer.mozilla.org/en-US/docs/Web/API/ 성능
현재

22

을 사용하는 것이 좋습니다 moment.js. 유닉스 시대 이후 밀리 초를 얻으려면

moment().valueOf()

유닉스 시대 이후의 초 수를 얻으려면

moment().unix()

다음과 같이 시간을 변환 할 수도 있습니다.

moment('2015-07-12 14:59:23', 'YYYY-MM-DD HH:mm:ss').valueOf()

나는 항상 그렇게한다. 말장난이 없습니다.

moment.js브라우저에서 사용하려면

<script src="moment.js"></script>
<script>
    moment().valueOf();
</script>

MomentJS를 설치하고 사용하는 다른 방법을 포함하여 자세한 내용은 해당 문서를 참조하십시오.


21

마이크로 초 해상도의 타임 스탬프에는 다음이 있습니다 performance.now.

function time() { 
  return performance.now() + performance.timing.navigationStart;
}

이것은 예를 들어 수율 수 1436140826653.139있지만, Date.now단지가 있습니다 1436140826653.


21

당신은 사용할 수 있습니다

    var timestamp = new Date().getTime();
    console.log(timestamp);

현재 타임 스탬프를 가져옵니다. 별도의 조치를 취할 필요가 없습니다.


20

다음은 형식으로 타임 스탬프를 생성하는 간단한 함수입니다. mm / dd / yy hh : mi : ss

function getTimeStamp() {
    var now = new Date();
    return ((now.getMonth() + 1) + '/' +
            (now.getDate()) + '/' +
             now.getFullYear() + " " +
             now.getHours() + ':' +
             ((now.getMinutes() < 10)
                 ? ("0" + now.getMinutes())
                 : (now.getMinutes())) + ':' +
             ((now.getSeconds() < 10)
                 ? ("0" + now.getSeconds())
                 : (now.getSeconds())));
}

10
@ b123400-다음은 Lisp 버전 (new (chain (-date) (to-i-s-o-string)))입니다..
Inaimathi

20

// The Current Unix Timestamp
// 1443534720 seconds since Jan 01 1970. (UTC)

// seconds
console.log(Math.floor(new Date().valueOf() / 1000)); // 1443534720
console.log(Math.floor(Date.now() / 1000)); // 1443534720
console.log(Math.floor(new Date().getTime() / 1000)); // 1443534720

// milliseconds
console.log(Math.floor(new Date().valueOf())); // 1443534720087
console.log(Math.floor(Date.now())); // 1443534720087
console.log(Math.floor(new Date().getTime())); // 1443534720087

// jQuery
// seconds
console.log(Math.floor($.now() / 1000)); // 1443534720
// milliseconds
console.log($.now()); // 1443534720087
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


16

Date.now를 지원하지 않는 모든 브라우저는 현재 날짜 시간을 얻기 위해 이것을 사용할 수 있습니다.

currentTime = Date.now() || +new Date()

3
코드에 문제가 있습니다. 지원을 먼저 확인하는 대신 Date.now 메서드를 실행합니다. 오래된 브라우저에서는 Date.now가 기능 오류 가 아닙니다 .
살만 A

아마도 더 좋은 대안은 삼항 연산자를 사용 Date.now하여 호출하기 전에 실제로 존재하고 (그리고 기능인) 주장하는 것 currentTime = typeof Date.now === "function" ? Date.now() : +new Date()입니다.
mgthomas99

14

이것은 해결책이 있습니다 : js에서 unixtime stamp를 tim로 변환하십시오.

var a = new Date(UNIX_timestamp*1000);
var hour = a.getUTCHours();
var min = a.getUTCMinutes();
var sec = a.getUTCSeconds();

14

다른 날짜 에 JQuery Cookie 의 소스 코드에서 주어진 Date 객체를 Unix 타임 스탬프로 변환하는 멋진 방법을 배웠습니다 .

예를 들면 다음과 같습니다.

var date = new Date();
var timestamp = +date;

새 Date () 객체를 작성하려고했습니다. log (new Date ())를 콘솔 한 다음 new Date () 객체 / 함수에서 관련 메소드를 통해 훑어 볼 수 있습니다
sg28

14

Node.js에서 타임 스탬프를 생성하는 기본 방법을 원한다면 잘 작동합니다.

var time = process.hrtime();
var timestamp = Math.round( time[ 0 ] * 1e3 + time[ 1 ] / 1e6 );

우리 팀은 이것을 사용하여 로컬 호스트 환경에서 캐시를 버스트합니다. 출력은 /dist/css/global.css?v=245521377245521377의해 생성 된 타임 스탬프 hrtime()입니다.

바라건대 이것이 도움이되기를 바랍니다. 위의 방법도 잘 작동 할 수 있지만 Node.js의 요구에 가장 간단한 방법이라는 것을 알았습니다.


13

이것은 작동하는 것 같습니다.

console.log(clock.now);
// returns 1444356078076

console.log(clock.format(clock.now));
//returns 10/8/2015 21:02:16

console.log(clock.format(clock.now + clock.add(10, 'minutes'))); 
//returns 10/8/2015 21:08:18

var clock = {
    now:Date.now(),
    add:function (qty, units) {
            switch(units.toLowerCase()) {
                case 'weeks'   :  val = qty * 1000 * 60 * 60 * 24 * 7;  break;
                case 'days'    :  val = qty * 1000 * 60 * 60 * 24;  break;
                case 'hours'   :  val = qty * 1000 * 60 * 60;  break;
                case 'minutes' :  val = qty * 1000 * 60;  break;
                case 'seconds' :  val = qty * 1000;  break;
                default       :  val = undefined;  break;
                }
            return val;
            },
    format:function (timestamp){
            var date = new Date(timestamp);
            var year = date.getFullYear();
            var month = date.getMonth() + 1;
            var day = date.getDate();
            var hours = date.getHours();
            var minutes = "0" + date.getMinutes();
            var seconds = "0" + date.getSeconds();
            // Will display time in xx/xx/xxxx 00:00:00 format
            return formattedTime = month + '/' + 
                                day + '/' + 
                                year + ' ' + 
                                hours + ':' + 
                                minutes.substr(-2) + 
                                ':' + seconds.substr(-2);
            }
};

13

로깅을 목적으로하는 경우 ISOString을 사용할 수 있습니다 .

new Date().toISOString()

"2019-05-18T20 : 02 : 36.694Z"




9

이 글을 쓰는 시점에서 가장 큰 대답은 9 살이며 그 이후 많은 부분이 바뀌 었습니다.

Date.now()

고대 (pre 9 이전) 브라우저에서 이것이 깨지지 않을 것이라고 확신하려면 다음과 같이 확인하십시오.

const currentTimestamp = (!Date.now ? +new Date() : Date.now());

이것은 물론 초가 아닌 에포크 시간 이후 밀리 초를 반환합니다.

Date.now의 MDN 설명서


8

더 간단한 방법 :

var timeStamp=event.timestamp || new Date().getTime();

어디에서 왔는지 아세요 event. 답변을 작성하는 대신 해결 방법에 대한 더 나은 설명을 제공해야합니다. 부디!
alexventuraio

새 Date () 객체를 작성하려고했습니다. log (new Date ())를 콘솔 한 다음 new Date () 객체 / 함수 아래의 관련 메소드를 통해 훑어 볼 수 있습니다
sg28
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.