查看一周中的哪一天是特定的日期



我正在使用Web应用程序,其中一种功能是根据您插入的日期提供广告牌列表。

我发现了广告牌图表的这个很棒的非正式API:http://billboard.modulo.site/

您可以在文档中看到您可以提供请求的日期,并在该日期获得官方的"热100"列表。

但是,一个约束是所提供的日期必须是星期六(这是Billboard每周更新其图表的时候)。如果您输入一个不是星期六的日期,则响应是带有空数组的JSON。

如果我向用户介绍了选择年度,月和日期和日期(或一周无关紧要)的选项,那么在 javascript 中将是最有效的解决方案同一周星期六的日期?

例如,假设用户输入以下日期:2016-03-04(这是星期五)

我如何检查2016-03-04周的哪一天是 - 这样我可以将其更改为 2016-03-05(哪个星期六)?

如果用户输入为

,这将更加愉快
  • 年:2016

  • 月:3月

  • 周:9

,然后获得第9周星期六的日期,但不确定是否可能。

最简单的解决方案似乎只是查看提供的日期的哪一天,但不确定如何通过。

您可以使用它来获取给定日期的下周六的日期。

var date = new Date();
date.setDate(date.getDate() + (1 + 5 - date.getDay()) % 7);
console.log(date);

灵感

我将通过提供日期选择器并确保只能选择周六来指导用户。

例如,可以使用jQuery datepicker,并以这种方式限制。请参阅此链接以进行此操作。

从用户的角度来看,这是很好的,并且在不必计算"最近的星期六"方面使您的工作更容易。

这很容易做。这是一个有效的示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jQuery UI Datepicker - Default functionality</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <link rel="stylesheet" href="/resources/demos/style.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
        function onlySaturdays(date) {
            return [!!(date.getDay() === 6)];
        }
        $( function() {
            $( "#datepicker" ).datepicker({ beforeShowDay: onlySaturdays });
        } );
    </script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>

做这样的事情:
JavaScript:

var dateString = document.getElementById('input');
var d = new Date(dateString);
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
var n = weekday[d.getDate()];
if n = "Saturday" {
//code here
}
else {
//code here for switching
}

最新更新