Is there a way to display timestamp in unix format to ISODate?

后端 未结 3 1772
醉酒成梦
醉酒成梦 2021-02-13 16:30

We stored a date using unix timestamp in MongoDB, how do I get the date when I do the query? Is there a way to display timestamp in ISODate format?

3条回答
  •  没有蜡笔的小新
    2021-02-13 17:12

    Background

    • A unixtime value represents seconds since the epoch (Jan 1, 1970).

    • A JavaScript Date() represents milliseconds since the epoch.

    • In MongoDB, ISODate() is a convenience wrapper for Date() that allows you to create dates from ISO strings in the mongo shell. If you use new Date() in the shell, it will return an ISODate().

    Conversion

    To convert between a unixtime and an ISODate() you can multiply your unix timestamps by 1000 and pass this value to the new Date() constructor.

    A simple example in the mongo shell:

    > db.mydata.insert({
        unixtime: 1362143511
    })
    
    > var doc = db.mydata.findOne();
    
    // convert unixtime seconds to milliseconds and create JS date
    > var date = new Date(doc.unixtime * 1000);
    
    > date
    ISODate("2013-03-01T13:11:51Z")
    

提交回复
热议问题