Estoy tratando de imprimir la fecha de script.js proveniente de mongodb pero recibo el siguiente error
TypeError no detectado: date.toLocaleTimeString no es una función
function db_old_msgs(old_msg) { $('.chat-messages').append('<span class="msg"><b>' + old_msg.nick + ': </b>' + old_msg.msg +" "+FormatTime(old_msg.created) + "</span><br/>"); } function FormatTime(time, prefix = "") { var date = Date.parse(time); return ((typeof time != "undefined") ? prefix + date.toLocaleTimeString() : ""); }Intenté lo anterior sin la función FormatTime como "+ old_msg.created.toLocaleTimeString() +" pero obtengo el mismo error.
El formato de hora que se recibe de db es 2021-12-16T13:22:01.600+00:00.
Las fechas se muestran correctamente y provienen de server.js
socket.broadcast.emit('msg', {from: users[socket.id],message: message, time:newMsg.created.toLocaleTimeString()})Muchas gracias
La fecha venía como una cadena del servidor, así que tuve que convertirla a la fecha y luego pasar la función a LocaleTimeString()
function db_old_msgs(old_msg) { var dbtime=new Date(old_msg.created); var formattedDate = dbtime.toLocaleTimeString(); $('.chat-messages').append('<span class="msg"><b>' + old_msg.nick + ': </b>' + old_msg.msg +" "+formattedDate + "</span><br/>"); }