我正在开发一个Web应用程序,其中一个功能是根据您插入的日期提供广告牌列表。
我发现这个广告牌图表的非官方API: http://billboard.modulo.site/
正如您在文档中看到的那样,您可以提供REQUEST的日期并获取该日期的官方“热门100”列表。
然而,一个限制是提供的日期必须是星期六(这是Billboard每周更新他们的图表时)。如果您输入的日期不是星期六,则响应是带有空数组的json。
如果我向用户提供选择年份,月份和日期(或周,无关紧要)的选项, Javascript 中最有效的解决方案是将其转换为星期六同一周的日期?
例如,假设用户输入以下日期: 2016-03-04(周五)
我如何查看2016-03-04的哪一天 - 以便我可以将其更改为 2016-03-05(周六)?
如果用户输入是
,那将更加愉快年份:2016
月份:三月
周:9
然后得到第9周的星期六的日期,但不确定是否可能。
最简单的解决方案似乎只看到提供日期的一周中哪一天,但不确定如何通过这个...任何想法?
答案 0 :(得分:2)
您可以使用它来获取指定日期下周六的日期。
var date = new Date();
date.setDate(date.getDate() + (1 + 5 - date.getDay()) % 7);
console.log(date);
答案 1 :(得分:1)
我会通过提供日期选择器来指导用户,并确保只能选择星期六。
例如,可以使用jQuery datepicker,并以此方式加以限制。有关实现此目的的方法,请参阅this link。
从用户的角度来看,这样做很好,无需计算最近的星期六'这使您的工作更轻松。
这很容易做到。这是一个工作样本:
<!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>
&#13;
答案 2 :(得分:0)
做这样的事情:
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
}