Javascript JS检索一年中的第一天和最后一天

Javascript JS检索一年中的第一天和最后一天,javascript,node.js,time,Javascript,Node.js,Time,给定一年,我试图检索当前年份的开始和结束日期(例如01-01-XXXX 00:00和12-31-XXXX 23:59:59),但结果不正确 我的代码: var日期=新日期(2020,0,1); var结束日期=新日期(2020年11月31日); 控制台日志(日期、结束日期)该代码在当前环境的本地时区中创建一年的开始和结束日期是正确的 当您将它们记录到控制台时,将显示它们的等效UTC日期,显然,您是在时间为UTC+1的位置运行它 因此,如果您希望本地日期作为一年的开始和结束日期,那么该代码是正确

给定一年,我试图检索当前年份的开始和结束日期(例如01-01-XXXX 00:00和12-31-XXXX 23:59:59),但结果不正确

我的代码:

var日期=新日期(2020,0,1);
var结束日期=新日期(2020年11月31日);

控制台日志(日期、结束日期)该代码在当前环境的本地时区中创建一年的开始和结束日期是正确的

当您将它们记录到控制台时,将显示它们的等效UTC日期,显然,您是在时间为UTC+1的位置运行它

因此,如果您希望本地日期作为一年的开始和结束日期,那么该代码是正确的。如果您希望UTC日期为年初和年末,可以执行以下操作:

var date=新日期(date.UTC(2020,0,1));
var end_date=新日期(UTC日期(2020年11月31日));

控制台日志(日期、结束日期)您在浏览器控制台上得到了正确的答案,因为JavaScript是一种客户端脚本语言,请求成功后,浏览器会在本地机器上对其进行解释,因此,选择本地时区。 所以,如果您编写此JS代码并在浏览器或任何本地JS环境中运行,您将得到正确的结果

但是,节点JS是从JavaScript派生的服务器端框架。 这意味着在节点JS或任何服务器端语言编写的任何东西将在服务器上执行,并且您的代码将考虑服务器所在位置的时区。


所以使用JavaScript来显示本地时区

假设他们正在自己的本地机器上运行节点。正如我在回答中已经指出的,节点以UTC时间记录日期,而不管机器的时区是什么。