我有一個頁面,我用作由樹莓派驅動的數字標誌。該頁面顯示日期和時間以及顯示當前天氣。如何僅調用date()一次,然後以不同格式顯示多次
我打電話date()
函數三個不同的時間。一種是確定天氣圖標是白天還是晚上,另一種是以較大數字顯示時間,最後是顯示當前日期。
有沒有一種方法可以將date()
存儲在一個變量中,然後以三種不同的方式使用它?
<?php
$page = $_SERVER['PHP_SELF'];
$sec = "10";
//header("Refresh: $sec; url=$page");
$bg = array(); // create an empty array
$directory = "images/"; //the directory all the images are in
$images = glob($directory . "*.jpg"); //grab all of the images out of the directory with .jpg extention
foreach($images as $image)
{
$bg[] = $image;//populate the empty array with an array of all images in the directory folder
}
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
$json_string="http://api.openweathermap.org/data/2.5/weather?lat=49.1985&lon=-113.302&appid=b29961db19171a5d4876c08caea9af0d&units=metric";
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata, true);
$now = date('U'); //get current time
$temp = round($obj['main']['temp']);
if($now > $obj['sys']['sunrise'] and $now < $obj['sys']['sunset']){
$suffix = '-d';
}else{
$suffix = '-n';
}
?>
<div id="todaysdatetime">
<div id="todaystime">
<span><?php echo(date("g:i A"));?></span>
</div>
<div id="todaysdate">
<span><?php echo(date("l\, F j<\s\up>S</\s\up>"));echo ' <i class="owf owf-', $obj['weather'][0]['id'].$suffix, '"></i> ', $temp, '°C'; ?></span>
</div>
</div>
在您實際執行HTTP請求的同時,三個date()調用不會顯着減慢您的代碼。不要猜測爲什麼你的代碼很慢,要進行基準測試。 – CodeCaster
基準與否,幾個日期通話可以減緩任何明顯數量的想法簡直是荒謬可笑... – CBroe
@CBroe很高興知道。我只是猜測在這一點上,爲什麼它可能會比在我的電腦上更慢。 – ShemSeger