javascript - 在浏览器窗口中自动转换日期
问题描述
我目前在我正在处理的网站的前端打印日期时遇到问题。日期是通过 Node.js(mysql
模块)从 MySql 数据库中检索的,它以 MySqlDATETIME
格式存储在其中。正在使用的视图引擎是 Handlebars。
问题在于在浏览器窗口中自动转换的日期,而我目前无法弄清楚这是在哪里以及如何发生的。Console.logging 从节点数据库查询中检索到的“日期”字段为我提供了2018-12-27T18:00:00.000Z
一种日期,但在浏览器中,该日期打印为Thu Dec 27 2018 19:00:00 GMT+0000 (Coordinated Universal Time)
. 我已经尝试date = date.toString()
在 Node 端进行转换,但无济于事。
-
这是 node.js 端的代码:
app.get( '/blog' , ( req , res ) => {
db.get().query( `SELECT * FROM posts` , ( error , results ) => {
res.render( "./blog.hbs" ,
{
pageTitle : "xx - My Blog" ,
posts : results
} );
} );
} );
提前感谢任何愿意帮助我解决这个难题的人。祝你今天过得愉快。
解决方案
数据库使用 ISO DateTime 格式来存储时间戳,这是非常标准和安全的。将此时间戳放在 JS 日期构造函数中不应导致任何类型的转换。
但是,当调用 Date 对象的 toString() 方法时,它通常会通过考虑本地机器的时区偏移来生成时间戳。并且时区也添加在时间戳的末尾。
因此,据我猜测,这可能不是您的服务器端的问题,而是您应该检查您在浏览器中运行的客户端应用程序的代码。
如果要在客户端输出与服务器端完全相同的时间戳,请使用 Date.toISOString() 方法。
推荐阅读
- python - 如何在python的数据框中获取打印函数输出
- html - 背景图片 url() 可以在实时服务器上使用,但是当我在浏览器中打开 index.html 时它不可以吗?
- regex - 在字符串中查找多个空格
- javascript - 填写表格时,在格式化的文本框中自动插入值
- python - Discord 清除命令仅限于所有者
- php - 如何在 WordPress 中显示来自自定义字段的多个图像
- node.js - “内部服务器错误”无服务器节点休息 api
- reactjs - 获取状态值时出错:未捕获类型错误:无法在 Function.keys 处将未定义或 null 转换为对象
- ruby-on-rails - 在 application.html 导航 Ruby on Rails 中显示属于类别 id 的所有产品
- javascript - 将 Blob 数据作为 MultipartFile 从 Angular6 客户端发送到 Spring Boot API