date.toLocaleTimeString 不是函数
Posted
技术标签:
【中文标题】date.toLocaleTimeString 不是函数【英文标题】:date.toLocaleTimeString is not a function 【发布时间】:2022-01-19 12:40:43 【问题描述】:我正在尝试从来自 mongodb 的 script.js 打印日期,但出现以下错误
未捕获的 TypeError:
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() : "");
我在没有像“+ old_msg.created.toLocaleTimeString() +”这样的函数格式时间的情况下尝试了上述方法,但我得到了同样的错误。
从db收到的时间格式是2021-12-16T13:22:01.600+00:00。
正确显示来自 server.js 的日期
socket.broadcast.emit('msg', from: users[socket.id],message: message, time:newMsg.created.toLocaleTimeString())
非常感谢
【问题讨论】:
【参考方案1】:日期是来自服务器的字符串,所以我必须将其转换为日期,然后将函数传递给 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/>");
【讨论】:
以上是关于date.toLocaleTimeString 不是函数的主要内容,如果未能解决你的问题,请参考以下文章