我需要能够在Wordpress中显示每周即将到来的星期五。我们过去使用下面的代码在非Wordpress上工作,但很久以前就没用了。
示例:本周它会说,“优惠将于3月7日星期五到期”。然后在星期六,它将自动更新为“优惠将于3月14日星期五到期”。
我已经找了插件并在Wordpress中尝试了旧代码,但没有成功。
有什么想法吗?
提前致谢。
function getNextFriday() {
var today = new Date();
var nextFriday = new Date(today.getFullYear(), today.getMonth(), today.getDate()-today.getDay()+7+5);
// TODO: change to the apropriate time
return nextFriday;
}
window.setTimeout(changeMyDate, getNextFriday()-new Date());
function changeMyDate() {
console.log('Time to change the date');
window.setTimeout(changeMyDate, getNextFriday() - new Date());
}
答案 0 :(得分:0)
在PHP中,您可以使用函数strtotime
将单词转换为日期,如下所示:
<?php
$date_friday = date('Y-m-d', strtotime('Friday'));
print $date_friday;
由于今天是3月3日,它将打印3月7日,一直到星期六,此时它将翻到14日。
我不确定是否有真正的Javascript等价于PHP的strtotime
,但Date.parse
函数似乎并没有削减它。
// THIS DOESN'T WORK -> NaN
var date = Date.parse("Friday");
我发现了几个用Javascript编写的strtotime
类型的函数,这些函数可能模仿PHP的版本,但这里的函数返回false或负时间戳:
// RETURNS NEGATIVE TIMESTAMP -> -1976781854
document.write(strtotime('next Friday', Date.now()));
// RETURNS FALSE
document.write(strtotime('Friday', Date.now()));
这个我因某种原因无法上班:
所以,我想我的建议是,如果可以从PHP中生成时间戳,然后将其传递给您的Javascript,那将使事情变得非常简单。否则,您可以尝试的一件事是尝试找到Javascript的等效工作strtotime
。
以下是如何将PHP日期插入Javascript变量的示例。
// JAVASCRIPT
var date_next_friday = '<?php print date('Y-m-d', strtotime('Friday')); ?>';
console.log(date_next_friday);