【发布时间】:2018-12-09 01:06:50
【问题描述】:
考虑 MySQL 数据库 以 YYYY-MM-DD HH:MI 的标准 SQL TIMESTAMP 格式发送时间戳: SS
这里,2019-09-08 08:00:00
现在,我需要在我的 Angular 网站上显示它,根据网站打开的时区操作时间戳。
Angular 文档https://angular.io/api/common/DatePipe中提到的管道
{{event.event_start_ts | date:'EEEE, MMMM d, y, h:mm:ss a zzzz'}}
确实给出了错误的输出为 2019 年 9 月 8 日星期日上午 8:00:00 GMT+05:30(因为它会自动将时区添加到提供的时间)。我需要它与将 +05:30 添加到 2019 年 9 月 8 日上午 8:00:00 时一样。此外,我不想显示 GMT+05:30。
另外,我很清楚这可以通过使用 moments.js 或只是 pure javascript 或某种 自定义管道 来解决.但是,我想知道是否有我无法弄清楚的管道滴答声。
【问题讨论】:
-
我认为要获得这样的自定义输出,您需要编写一个自定义管道,甚至可能只是一个函数,将值发回以与正则表达式进行比较,以删除额外的文本不想。
-
感谢引用帖子中的文档。向所有人展示您在来这里之前首先阅读的内容:)
-
“采用”的标准格式 ...不是 ISO 标准格式
-
@charlietfl, YYYY-MM-DD HH:MI:SS 是 MySQL 存储时间戳的格式。此外,是的,它不是 ISO 标准,因此我将其存储为 GMT 以保持一致性。
-
正确但更安全地以 javascript
Date熟悉的 ISO 格式发送给客户端。可能会遇到非标准格式的跨浏览器问题。是一个简单的转换服务器端
标签: javascript angular typescript pipe