Php 时间脚本

Php 时间脚本,php,datetime,mktime,Php,Datetime,Mktime,我有一个小脚本,它取决于时间和日期;我希望它输出不同的内容: <?php $currenttime = ((date("H")+7). ":" .date("i")); if ($currenttime >= "16:30") { $tomorrow = mktime(0, 0, 0, date("m") , date("d")+2, date("Y")); $jsdate = (date("Y"). "-" .date("m"). "-" .(

我有一个小脚本,它取决于时间和日期;我希望它输出不同的内容:

<?php
    $currenttime = ((date("H")+7). ":" .date("i"));
    if ($currenttime >=  "16:30") {
    $tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+2, date("Y"));
    $jsdate = (date("Y"). "-" .date("m"). "-" .(date("d")+1). "-16-30");
    }
    else{
    $tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
    $jsdate = (date("Y"). "-" .date("m"). "-" .date("d"). "-16-30");
    }
    echo "  Time left for delivery on <b><center>" .date("l \\t\h\e jS F", $tomorrow). "</b>:</center>";
    ?>
<center>
<script>
// deadline(date, width, height, style, background, number color, small text color);
deadline("<? echo $jsdate; ?>", "220", "37", "digital2", "#FFFFFF", "#000099", "#000000");
</script>
</center>

//截止日期(日期、宽度、高度、样式、背景、数字颜色、小文本颜色);
截止日期(“,”220“,”37“,”数字2“,”FFFFFF“,”000099“,”000000”);
例如,在16:30之前的星期一,它需要以下内容:

  • 在{月{日}星期二交付的剩余时间
  • 然后以DD HH MM SS格式(最好是服务器时间而不是用户本地时间)显示到16:30的剩余时间
然后在星期一16:30之后,需要阅读:

  • 交货时间为{月{日}周三
  • 然后显示离目标还有多长时间 16:30英寸日高毫米不锈钢 格式(最好是服务器时间) 而不是用户本地时间。)
然后,从周四16:30到周一16:30,需要阅读:

  • 在{月{日}星期二交付的剩余时间
  • 然后显示离目标还有多长时间 16:30英寸日高毫米不锈钢 格式(最好是服务器时间) 而不是用户本地时间。)
我希望这一切都有意义,谢谢你的关注

Ta,
B.

您可以使用strotime和(PHP5.3+)类来创建、比较和格式化时间戳和间隔

e、 g.(既没有真正测试,也没有完全按照您描述的格式):


您的程序没有修复程序,但这一行

$jsdate = (date("Y"). "-" .date("m"). "-" .date("d"). "-16-30");
也可能很容易

$jsdate = date("Y-m-d-16-30");

它的可读性更强。

谢谢,但我得到了以下信息:调用未定义的方法DateTime::getTimestamp(),在这种情况下,很可能打印出比5.3.0?更小的内容;-)由于diff()方法也是5.3+,因此在较早版本的php中使用DateTime是没有意义的。它是5.2.11-有没有办法在这个版本上执行相同的操作?是的,您可以跳过DateTime并在任何地方使用strtotime(即unix时间戳)。然后您必须自己编写diff()和format()函数。如果你不在乎闰年、闰秒和夏令时(即一天总有86400秒),那就没那么难了。谢谢你的时间,我不懂的一点是过去的时间戳是“提前”一周的
$jsdate = (date("Y"). "-" .date("m"). "-" .date("d"). "-16-30");
$jsdate = date("Y-m-d-16-30");