JavaScript 日期转换导致浏览器和 Node js 的值不同

标签 javascript node.js

我正在使用一个函数将日期时间转换为“en-NL”格式。但它在浏览器和nodejs中给出了不同的结果

function convertDateTime(value){
    const timestamp = new Date(value);
    let date = timestamp.toLocaleDateString('en-NL');
    let time = timestamp.toLocaleTimeString('en-NL');
    return date + ' ' + time;
}
console.log(convertDateTime(1559742499937));

当我在浏览器中使用此功能时,它会给出以下结果: 2019年5月6日 19:48:19 当我在nodejs中使用这个函数时,它给出了以下结果: 2019 年 6 月 5 日晚上 7:48:19。 但我的结果在浏览器和nodejs中应该是相同的。

最佳答案

浏览器和 Node 之间的 Date 实现可能略有不同。

为了避免这个问题,我建议您使用像 momentjs 这样的库之后,您将能够在前端和后端管理日期的格式,并且两者应该具有相同的值。

您还可以使用以下命令强制日期时间的格式

moment().format('DD/MM/YY h:mm:ss');

关于JavaScript 日期转换导致浏览器和 Node js 的值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58184306/

相关文章:

node.js - Jade ,gulp-jade本地人更新

javascript - 获取项目在 HTML 列表中的位置

javascript - 使用 Jquery 在按钮单击上显示类

javascript - jQuery:如何知道该元素在可排序的用户界面中被删除?

javascript - $apply 使用时范围未更新

node.js - Mongodb 基于具有计数的唯一子集合属性聚合搜索结果?

javascript - 如何将 Encoded url 转换成 JSON 格式?

javascript - 根据用户输入(如打字机)对数组进行动画处理(javascript)

javascript - Node 模块外的返回值

javascript - 在node js中像全局变量一样访问回调之外的变量