我正在使用Angular Material 6的Datepicker,它使用此格式 06/20/1992 显示日期,在我的浏览器控制台中,这是输出 1992年6月20日星期六00:00 :00 GMT + 0800(菲律宾标准时间)。现在,当我在节点中console.log req.body时,它的输出像这样 1992-06-19T16:00:00.000Z'。这是一天的休假。
以下是我到目前为止所做的。
var thisDate = new Date(req.body.birthdate);
var currentMonth = thisDate.getMonth() + 1;
var currentDay = thisDate.getDate();
var currentYear = thisDate.getFullYear();
console.log(thisDate); // 1992-06-19T16:00:00.000Z
console.log(currentMonth + '/' + currentDay + '/' + currentYear); //6/20/1992
有没有更简单的方法来做到这一点?我将其保存到数据库(mongodb)
答案 0 :(得分:0)
JS没有很多内置的日期格式化程序-您可以使用getUTCMonth
,getUTCDate
和getUTCFullYear
获得所需字符串的UTC版本。
如果您要进行很多日期操作,请考虑使用Moment-例如,对于Moment,所需的格式为moment().format('D/M/YYYY')
答案 1 :(得分:0)
这是因为您的MongoDB将日期保存为UTC,并且您的浏览器正在显示本地时间。
答案 2 :(得分:0)
如果要保存GMT时区,则需要使用new Date()
,但如果要使用自己的时区,则需要使用
new Date()
new Date(date.getFullYear(), date.getMonth(), date.getDate(), a, b, 0, 0)
您必须输入以小时和分钟为单位的与格林尼治标准时间的时差,以代替a
和b