繁体   English   中英

存储一年中每个月的第一天和最后一天 javascript

[英]Store the first and last day of every month of the year javascript

我需要获取一年中每个月的第一天和最后一天,并将其设置为对象数组。 我尝试了以下方法,但卡住了,无法获得正确的结果。

module.exports = function () {
    let months_names = ["january","february","march","april","may","june", "july","august","september","october","november","december",
  ];

  let current = new Date();
  let month = months_names.map(x => {
      return months_names.indexOf(x);
  });

  const test = {
    prev_month_first: new Date(current.getFullYear(), month[0], 1) / 1000 | 0,
    prev_month_last: new Date(current.getFullYear(), month[0], 0) / 1000 | 0   
  }

  console.log(test);


  const months = [
    {
      jan_start: "",
      jan_end: "",
    },
    {
      feb_start: "",
      feb_end: "",
    },
    {
      march_start: "",
      march_end: "",
    },
    {
      april_start: "",
      april_end: "",
    },
    {
      may_start: "",
      may_end: "",
    },
    {
      june_start: "",
      june_end: "",
    },
    {
      july_start: "",
      july_end: "",
    },
    {
      aug_start: "",
      aug_end: "",
    },
    {
      sept_start: "",
      sept_end: "",
    },
    {
      oct_start: "",
      oct_end: "",
    },
    {
      nov_start: "",
      nov_end: "",
    },
    {
      dec_start: "",
      dec_end: "",
    },
  ];

  return months;
};

console.log(test)将时间戳打印为{ prev_month_first: 1577817000, prev_month_last: 1577730600 } ,相当于:

GMT: Tuesday, December 31, 2019 6:30:00 PM
Your time zone: Wednesday, January 1, 2020 12:00:00 AM GMT+05:30

GMT: Monday, December 30, 2019 6:30:00 PM
 Your time zone: Tuesday, December 31, 2019 12:00:00 AM GMT+05:30

分别(使用纪元时间转换器)。

我无法正确设置今年每个月的时间戳。

请帮助我走上正轨。

如果我正确理解您的问题,您可以执行以下操作:

const monthNames = ["january", "february", "march", "april", "may", "june", 
"july", "august", "september", "october", "november", "december"];


const months = monthNames.map((name, i) => ({
  [`${name}_start`]: new Date(new Date().getFullYear(), i, 1),
  [`${name}_end`]: new Date(new Date().getFullYear(), i + 1, 0)
}))

console.log(months);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM