0

在这里,我以格式(2013-08-17 07:50:21)获取存储在数据库中的日期,我得到以下输出,但我需要格式为 2013 年 8 月 17 日的日期,而不使用任何第三方模块。可能吗?如果是,请提出解决方案。

 var sql2 ="SELECT `user_id`, `vote_date` FROM `tb_post_votes` WHERE `post_id`=?";
  connection.query(sql2,[postId],function(err, result) {

  var post={"user_id":result[0].user_id,"date":result[0].vote_date}); 
    res.send(JSON.stringify(post));               
   }); 

Output: {"user_id":11,"date":"2013-08-17T07:50:21.000Z"}
4

1 回答 1

1

Javascript / nodejs 没有为 Date 对象提供格式方法。但是,您可以从提供的本机方法轻松获取日期、月份和年份...

getYear()       - gives year count from 1990 113 for 2013
getFullYear()   - gives full year as 2013
getMonth()      - gives month number 0 based index
getDate()       - gives date of the month

new Date()采用不同格式的日期并将其转换为本地日期/时间,其中一种是 UTC 日期格式。因此,如果您的节点服务器处于 UTC 时间,那么您可以直接使用Date构造函数转换日期。

var date = new Date(UTC_Date);

对于您的规格,我们可以getMonth()与几个月结合使用Array

这应该对你有用......

var months = ["January", "February", "March", "April", "May", "June", 
    "July", "August","September", "October", "November", "December"];

var date = new Date(result[0].vote_date);

var dateStr = date.getDate() +' '
            + months[date.getMonth()] +' '
            + date.getFullYear();

console.log(dateStr); // gives 17 August 2013
var post={"user_id":result[0].user_id,"date":dateStr});

您还可以找到在哪里可以找到有关在 JavaScript 中格式化日期的文档?使用日期很有用。

于 2013-08-20T12:26:30.840 回答