0
私はPHPで時間計算に問題があります。それは簡単なスクリプトです:時間は(datenow)が与えられたとき、関数ordertimeが評価されます。php4時間計算時間エラー
- それは<午前10時の場合 - >それは< 14PMであれば、それは12時30
- で、今日表示します - それは私が私のサーバー上のPHP 4.4.9を持って12時30
で明日表示>、date_default_timezone_setは動作しません - >それは私たちが順番
OUTPUT
25-02-2012 03:46:22
24-02-2030 12:30:00
を与える
<?php
$gmt = -3;
$datenow = gmdate("d-m-Y H:i:s", mktime(date("H")+ $gmt, date("i"), date("s"), date("m"), date("d"), date("Y")));
$date = strtotime($datenow);
function ordertime ($when)
{
global $date ;
$datearray = strtotime($when);
if ($datearray['hours'] < 10) {
// order ships today
return strtotime("today 12:30");
}
elseif ($datearray['hours'] < 14) {
// we can't take this order
echo "we can't take this order";
} else {
// order ships tomorrow
return strtotime("tomorrow 12:30");
}
}
// date_default_timezone_set("America/Argentina/Buenos_Aires"); // this does not work on php4.4.9
$delivery = ordertime($date);
if ($delivery) {
$deliverytime = strftime("%d-%m-%Y %H:%M:%S", $delivery);
echo $datenow."<br />";
echo $deliverytime;
}?>
。私は05-08-2030 12:30:00
の出力を与えるので、return strtotime
の2番目のパラメータを削除しました。私はgetdateを削除すると、私はphp5で同じ出力を持っています。
問題は解決しますが、注文機能は役に立たなくなります。全体のポイントは、関数 – chenci
を 'ordertime'関数の' return'値で使用することです。それが問題の原因です。 –
これは、31-12-1969 12:30:00、非常に奇妙な – chenci