Estoy trabajando en un programa que toma información de un usuario por un tiempo. El programa tomará la información y generará automáticamente una marca de tiempo Unix usando la fecha actual como la fecha en la marca de tiempo.
Por ejemplo:
Daniel quiere generar una marca de tiempo de Unix para las 8:30 a. m. del día de Navidad. Ejecuta un comando
/unix 8:30y la consola imprime1640421000.
¿Cuál es la mejor manera de lograr esto? Entiendo cómo generar una marca de tiempo de Unix, pero ¿cómo edito solo la hora de la entrada del usuario? Cualquier ayuda sería muy apreciada.
Puede crear una fecha para la fecha actual, establecer la hora según sea necesario y luego generar un valor de tiempo en segundos.
Si el usuario siempre ingresará H: mm y no necesita validar la entrada, lo siguiente será suficiente:
let time = '8:30'; let tv = new Date().setHours(...(time.split(/\D/)), 0) / 1000 | 0; // Check value console.log(new Date(tv * 1000).toString());Sin embargo, la entrada debe validarse (por ejemplo, horas 0-23, minutos 0-59).
Acabo de ir con lo siguiente:
const time = interaction.options.getString('time'); const date = new Date().toISOString().slice(0, 10); console.log(Math.round(new Date(`${date} ${time}:00`).getTime()/1000));Parece funcionar para mi.