如何在Javascript中使用星期几的名称获取日期?

克林特

假设我有星期几的名称,例如'Wednesday''Monday',是否可以获取与星期几有关的月份返回日期?

例如,在下面的给定日历中,是否有办法获取[2,9,16,23,30]2020年9月“星期三”的日期?只要解决方案返回给定日期的正确日期,该解决方案就不必与此完全匹配:

在此处输入图片说明

mplungjan

一起去吧

const dayNames = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
  days = [...Array(32).keys()].splice(1); // generate 1-31
const getDates = (yyyy, mm, dayName) => {
  const dayNumber = dayNames.indexOf(dayName);
  mm -= 1; // JS months start at 0
  return days.filter(d => {
    const date = new Date(yyyy, mm, d);
    return mm === date.getMonth() && dayNumber === date.getDay()
  });
};

console.log(
  getDates(2020, 9, "Wednesday")
)
console.log(
  getDates(2020, 9, "Monday")
)

/* Without the need for a dayName array but needing the month name as input

**NOTE** this was more for my own entertainment - the date constructor may fail on some browsers that does not like `new Date("Monday, August 31")` such as Safari
*/

const fm = new Intl.DateTimeFormat('en-US',{dateStyle:"full"}),
    days = [...Array(32).keys()].splice(1); // generate 1-31

const getDates = (yyyy, monthName, dayName) => {
    const mn = monthName.slice(0,3);
    return days.filter(d => {
      const [,dn,month,day] = fm.format(new Date(`${mn} ${d}, ${yyyy}`)).match(/(\w+?), (\w+?) (\d+?),/)
      return dayName===dn && monthName === month;
    });
};
console.log(
  getDates(2020, "September", "Wednesday")
)
console.log(
  getDates(2020, "August", "Monday")
);  

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JodaTime中获取星期几的名称

如何在mysql中使用星期数获取开始和结束星期的日期?

从星期几中获取乔达时间的日期名称

Android:获取日期的星期几?

如何获取Dart中星期几的名称

获取星期几的日期

星期几和月份的JavaScript全名(或如何获取每个客户区域设置的日期名)

如何从Swift中的日期获取星期几

如何设置获取星期几的日期?

如何在Flutter / Dart中获取星期几的日期?

如何获取特定日期是星期几?

如何使用Google表格获取与上一年的星期数和星期几相同的日期?

如何在php中获取年,月,月中的星期几和星期几的日期

如何使用MySQL获取两个日期之间的星期数和星期几

如何在全日历显示日期和星期几的名称?

如何在Excel中获取当前星期一,星期三和当前星期几的日期?

javascript:根据特定日期获取星期几

如何在Android中使用SQLite计算两个日期之间的星期几

获取月数星期几的日期

在SQL Server 2000中使用星期几和星期几制作日期

如何在PHP中使用Bootstrap Datepicker获取星期几和星期几的特殊信息

如何按星期几获取日期 ruby

如何打印星期几的名称?

从日期获取星期几

如何在DateTime中获取星期几?

如何使用碳获取当前星期几?

从星期几中获取日期 Javascript

如何在 JavaScript 中查找星期几

如何使用 moment.js 正确获取星期几(名称)?