網(wǎng)站上有的時候需要兩組電話,一組是直通座機號碼,一組是400客服電話。由于400電話需要轉(zhuǎn)接,因此在速度上沒有座機快。但是座機在夜間和節(jié)假日會存在無人值班接聽的可能,這時我們就需要使用400電話的轉(zhuǎn)接功能來非費正常工作時間的客戶來電轉(zhuǎn)接到客服的移動電話上。本文將以深圳網(wǎng)站建設公司創(chuàng)絡自己的作息時間為例,加以邏輯說明。
除法定節(jié)假日外,我們公司的正常上班時間是周一至周五,上午是9點至12點,下午是13:30至18點。因此,我們的需求是:在正常上班時間段內(nèi),客戶訪問我公司網(wǎng)站的時候顯示0755-36978973座機號碼,其他時間一律顯示為400電話。邏輯清楚了,那么程序上就能夠很容易的實現(xiàn)了。
在數(shù)據(jù)庫中存入兩組電話,分別是0755-36978973和0755-23698839。然后在程序中讀出這兩個電話號碼,判斷3個條件后顯示對應的電話號碼。用PHP判斷這三個條件的詳細代碼如下:
判斷當前日期是否節(jié)假日
根據(jù)實際情況,首先將下一周期年中的全部法定假日的月份和號數(shù)連起來,并構(gòu)建一個數(shù)組。然后使用date(´md´);獲取當前日期的月份及號數(shù),以當前時間為例:1218,去判斷當前日期是否為法定節(jié)假日。值得注意的時,每年放假日期有所不同,因此這個法定假日數(shù)組每年需要根據(jù)實情更新一次。
判斷當前日期是否周末
PHP中有一個date()函數(shù),可以十分方便的通過date("w")獲取當前是星期幾,注意返回值為0時是星期日、返回1時是星期一、返回2時是星期二,以此類推。
判斷當前時間是否為上班時間
同樣是利用date()函數(shù)來操作,使用date("Hi");獲取當前時間的小時數(shù)和分鐘數(shù),結(jié)果是一個4位數(shù)。
以上3個條件組合起來,就可以精確的實現(xiàn)上班時間顯示能快速接通的直通電話,其他時間段顯示能夠轉(zhuǎn)接到任意電話上的400電話。需要注意的時,在使用以上方法的時候,需要設置時區(qū):date_default_timezone_set(´Asia/Shanghai´);。以下為我公司2015年控制網(wǎng)站上不同時間段顯示不同的客服電話的參考代碼:
$cl_restday=date(´md´);//獲取當前月份和號數(shù),如:1218
$cl_workday=date("w");//獲取當期是星期幾,如:4
$cl_time=date("Hi");//獲取當前小時數(shù)和分鐘數(shù),如:1415
$rest_day = array(´0101´,´0102´,´0103´,´0218´,´0219´,´0220´,´0221´,´0222´,´0223´,´0224´,´0405´,´0406´,´0501´,´0620´,´0621´,´0622´,´0927´,´1001´,´1002´,´1003´,´1004´,´1005´,´1006´,´1007´);
if(($cl_workday >0 and $cl_workday <6) and (!in_array($cl_restday,$rest_day)) and (($cl_time>900 and $cl_time<1200) or ($cl_time>1330 and $cl_time<1800)))
{
//顯示座機
}
else
{
//顯示400電話
}
由于我們的網(wǎng)站使用了轉(zhuǎn)義字符,因此在實際使用的時候,大家不可以直接復制以上代碼。請復制粘貼到Dreamweaver等編輯器后,使用替換功能把雙引號全部替換為英文狀態(tài)下的雙引號,然后再根據(jù)自己的實際需要修改代碼,以實現(xiàn)更多功能。