使用Nodejs的Moment.js Sql日期时间转换

时间:2015-07-28 11:14:39

标签: javascript node.js express momentjs

我使用nodejs连接到mySql并且连接正常。 同时使用

等查询
SELECT * from someTable

我得到了所需的结果。但问题是我有 存储日期的列具有给定格式。  在发送数据之前,我需要这种格式进行转换,反之亦然

file_date : Wed Jan 01 2014 05:34:53 GMT+0530 (IST)

这是我正在获取的格式

我无法从客户端以此格式发送带有日期的参数 所以我需要将这些数据转换为“DD-MM-YYYY”format.i需要这种方式,以便我可以通过“DD-MM-YYYY”中的参数并获取日期数据

1 个答案:

答案 0 :(得分:6)

简单方法
如果您知道Moment支持您的日期格式,那么最简单的方法是构造一个时刻对象并对其进行格式化。

var file_date = 'Wed Jan 01 2014 05:34:53 GMT+0530 (IST)';
var formatted = moment(file_date).format('DD-MM-YYYY');

弃用警告:
但是,在某些时候,不推荐支持非ISO日期格式。它在某些情况下仍然可以工作但是你应该收到警告(根据弃用警告信息):

  

弃用警告:提供的值不是公认的ISO格式。时刻构造回落到js Date(),这在所有浏览器和版本中都不可靠。不鼓励使用非ISO日期格式,并将在即将发布的主要版本中删除。

解决方法
相反,如果您知道输入字符串的格式,则可以使用它来解析片刻。

var s = 'Wed Jan 01 2014 05:34:53 GMT+0530 (IST)';
var m = moment(s, 'ddd MMM DD YYYY hh:mm:ss [GMT]ZZ').format('MM-DD-YYYY');
console.log(m);
<script src="https://momentjs.com/downloads/moment.min.js"></script>

当像这样手动指定格式时,有助于使格式文档更方便:https://momentjs.com/docs/#/displaying/format/