这里我以格式(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"}
答案 0 :(得分: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});
您可能还会发现Where can I find documentation on formatting a date in JavaScript?和Working with Dates有用。