/ / Získajte správnu časovú značku pred 45 sekundami - node.js, mongodb, mongoose, 64bit

Získajte správnu časovú pečiatku pred 45 sekundami - node.js, mongodb, mongoose, 64bit

Snažím sa získať platnú časovú pečiatku MongoDB, mám toto:

import {Timestamp} from "bson";
const ts = Timestamp.fromInt(Date.now() - 45000);
console.log(ts);

že protokoly:

Timestamp { _bsontype: "Timestamp", low_: 853265937, high_: 0 }

to sa nezdá správne, čo robím zle?

Upozorňujeme, že platná inštancia časovej pečiatky je 64-bitová vec: http://mongodb.github.io/node-mongodb-native/core/api/Timestamp.html

odpovede:

1 pre odpoveď č. 1

Získanie časovej pečiatky pred 45 sekundami:

Timestamp((new Date().getTime()-45000)/1000,0)

Dátum().getTime () dáva milisekundy zo systému UNIX epoc, takže je to preto rozdelené na 1000. Potom je tento ďalší parameter (0) iba nula milisekúnd, potom hodnoty sekúnd zodpovedajú tomu, čo sme vložili do prvého parametra.

Samozrejme, ak potrebujete presnú hodnotu Timestamp (), vyplníte túto desatinnú časť (new Date().getTime()-45000)/1000 ako druhý parameter.

var x=(new Date().getTime()-45000)/1000;
var y=Math.floor(x);
var z=Math.round((x-y)*1000);
Timestamp(y,z)