How do you get a timestamp in JavaScript?

前端 未结 30 3540
情深已故
情深已故 2020-11-21 15:19

How can I get a timestamp in JavaScript?

Something similar to Unix timestamp, that is, a single number that represents the current time and date. Either as a number

30条回答
  •  萌比男神i
    2020-11-21 15:34

    Short & Snazzy:

    + new Date()
    

    A unary operator like plus triggers the valueOf method in the Date object and it returns the timestamp (without any alteration).

    Details:

    On almost all current browsers you can use Date.now() to get the UTC timestamp in milliseconds; a notable exception to this is IE8 and earlier (see compatibility table).

    You can easily make a shim for this, though:

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

    To get the timestamp in seconds, you can use:

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

    Or alternatively you could use:

    Date.now() / 1000 | 0
    

    Which should be slightly faster, but also less readable (also see this answer).

    I would recommend using Date.now() (with compatibility shim). It's slightly better because it's shorter & doesn't create a new Date object. However, if you don't want a shim & maximum compatibility, you could use the "old" method to get the timestamp in milliseconds:

    new Date().getTime()
    

    Which you can then convert to seconds like this:

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

    And you can also use the valueOf method which we showed above:

    new Date().valueOf()
    

    Timestamp in Milliseconds

    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());

提交回复
热议问题