Mat*_*att 6 datetime json date-formatting node.js
想知道我是否应该删除正常存储的时间数据.我们正在使用postgres以及node.js从我们的API返回DateTime的位置:
2013-07-01T00:00:00.000Z
然而,由于这个字段应该只代表一个日期,我觉得在返回之前重新格式化就像这样会更清楚地表明时间不相关:
2013-07-01
思考?
如果您要表示日历日期,则没有时间或时区.简短的表示更有意义.
不幸的是,许多javascript实现中的新Date(字符串)可能会对您造成不良影响.
new Date('2015-09-23')
Tue Sep 22 2015 20:00:00 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud)
解决问题的最简单方法是不使用javascript的日期 - 此类型与其他语言的DateTimeOffset匹配.这是表示日历日期值的不好方法.
但是,无论如何,你可能会使用javascript的日期.下一个最简单的"修复"是避免标准表示(因为标准表示被解释为带UTC的DateTimeOffset).这有两种可能性:
使用"/"代替" - ".
new Date('2015/09/23')
Wed Sep 23 2015 00:00:00 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud)
使用3个月的月份 - 前导零将被丢弃.
new Date('2015-009-23')
Wed Sep 23 2015 00:00:00 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud)
如果你在客户端和服务器端都有javascript,那么你就完成了.如果你在服务器端有其他东西,你应该考虑服务器语言如果看到非标准日期格式会做什么.
作为 API 用户,我更愿意接收长格式的日期。
出于以下几个原因: