显示星期几

时间:2014-03-03 18:48:25

标签: javascript php wordpress

我需要能够在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());
}

1 个答案:

答案 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或负时间戳:

PHPJS

// RETURNS NEGATIVE TIMESTAMP -> -1976781854 
document.write(strtotime('next Friday', Date.now()));

// RETURNS FALSE
document.write(strtotime('Friday', Date.now()));

这个我因某种原因无法上班:

datetime.js

所以,我想我的建议是,如果可以从PHP中生成时间戳,然后将其传递给您的Javascript,那将使事情变得非常简单。否则,您可以尝试的一件事是尝试找到Javascript的等效工作strtotime

以下是如何将PHP日期插入Javascript变量的示例。

// JAVASCRIPT
var date_next_friday = '<?php print date('Y-m-d', strtotime('Friday')); ?>';
console.log(date_next_friday);