Me gustaría saber qué tipo de formato devuelve la función now
.
Llamo a esta función en un contrato y envío el resultado como un evento a mi archivo .js. La estructura que veo es así:
Me gustaría comparar esta vez con el obtenido con new Date().getTime();
javascript, pero no sé el significado de "c,e,s" y no estoy seguro si es el mismo tipo de formato (la longitud del número de resultado es diferente ) o debo manejarlo primero. En ese caso, ¿cómo podría modificarlo?
Supongo que estás usando web3.js. El tipo de valores numéricos devueltos por un contrato es BN
o BigNumber
, según la versión de web3.js.
En ambos casos, .toString()
le dará una representación de cadena del número y .toNumber()
le dará un número, ¡pero tenga cuidado con la precisión! JavaScript no puede manejar con seguridad números mayores de 2 53 -1.
Para una marca de tiempo, debería estar bien simplemente usando .toNumber()
.
buena vibración
now
probablemente sea lo mismo, pero en términos generales,toFixed
da "mejores resultados" quetoString
(mejor en el hecho de que siempre obtiene una cadena en formato claro).sapiensapiens
toNumber()
obtengo1535277654
(el argumento "c" en la imagen), pero cuando apliconew Date().getTime()
el resultado es1535277681189
. Tienen diferente tamaño, por lo que no puedo manejarlos correctamente. ¿Cuál es la diferencia? ¿Hay alguna manera de obtener la misma longitud? @smarxusuario19510
Math.floor(new Date() / 1000)
.