簡體   English   中英

如何使用Node.js將日期從日期選擇器中正確存儲到MongoDB中

[英]How to properly store date from form datepicker into mongodb with nodejs

我使用的是Angular Material 6的Datepicker,它使用06/20/1992格式顯示日期,在我的瀏覽器控制台中,這是輸出Sat Jun 20 1992 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)

JS沒有很多內置的日期格式化程序-您可以通過getUTCMonthgetUTCDategetUTCFullYear獲得所需字符串的UTC版本。

如果您要進行大量的日期操作,請考慮使用Moment-例如,對於Moment,所需的格式為moment().format('D/M/YYYY')

這是因為您的MongoDB將日期保存為UTC,而您的瀏覽器正在顯示本地時間。

如果要保存GMT時區,則需要使用new Date()但如果要使用自己的時區,則需要使用

new Date() new Date(date.getFullYear(), date.getMonth(), date.getDate(), a, b, 0, 0)

代替ab ,您必須輸入與格林尼治標准時間的時差,以小時和分鍾為單位

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM