使用 INTL 从今天开始获取整周的天数

Posted

技术标签:

【中文标题】使用 INTL 从今天开始获取整周的天数【英文标题】:Using INTL to get the full week's days from today 【发布时间】:2021-10-20 10:30:25 【问题描述】:

我正在尝试使用 INTL 从特定日期的日期(例如今天是星期三,所以我想获得今天加上今天之后的 7 天)获取一周中的几天。我已经设法得到今天的日期,但我不确定如何得到剩下的日子。

              function daysForLocale(localeName = 'en', weekday = 'long') 
                const format = new Intl.DateTimeFormat(localeName,  weekday ).format;
                return [...Array(1).keys()]
                  .map((day) => format(new Date()));
              
              console.log(daysForLocale());

输出:

["Wednesday"]
["Wednesday"]
["Wednesday"]
["Wednesday"]
["Wednesday"]
["Wednesday"]
["Wednesday"]

期望的输出

["Thursday"]
["Friday"]
["Saturday"]
["Sunday"]
["Monday"]
["Tuesday"]
["Wednesday"]

【问题讨论】:

new Date() 今天总是返回。 【参考方案1】:

请使用此代码。

    function daysForLocale(localeName = 'en', weekday = 'long') 
        const format = new Intl.DateTimeFormat(localeName,  weekday ).format;
        const today = new Date();
        return [...Array(7).keys()]
          .map((val, index) => [format(new Date(today.getTime() + 3600 * 24 * 1000 * (index + 1)))]);
    
    console.log(daysForLocale());

【讨论】:

感谢您的帮助,这让我整天都在一个数组中。我希望将每一天都放在一个数组中,即 ["Thursday"] ["Friday"] 我已经更新了这段代码。请再次检查。 非常感谢您,我会将您的答案标记为正确。为了我自己的学习,你能告诉我你做了什么吗? 是的,您能告诉我您所做的更改为什么有效吗? 通过索引(0~6)循环,我将今天的日期增加了(索引+ 1)天。因此,如果今天是星期一,则数组从星期二到星期一填充。

以上是关于使用 INTL 从今天开始获取整周的天数的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate HQL - 从今天开始获取实体的下一个日期

如何从今天开始从 DB2 获取过去 7 天(1 周)的记录

带有日期列表的 Pyspark DF(使用 PANDAS)从今天开始 BACK 1 年

获取某一天所在周的开始日期和结束日期

JQuery UI Datepicker - MaxDate 排除禁用天数

从今天开始学Python dey00