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 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

时光不老我们不散啥意思 怎么理解时光不老我们不散的意思

时光不老我们不散这句话是啥意思 时光不老我们不散这句话解释

C语言 不允许使用不完整的类型

时光不老,我们不散的下一句是啥?

C语言 不允许使用不完整的类型

时光不老,我们不散珍惜友情的说说