您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“php如何判斷兩個時間戳是不是一天”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“php如何判斷兩個時間戳是不是一天”吧!
php判斷兩個時間戳是不是一天的實現(xiàn)方法:1、創(chuàng)建一個php示例文件;2、設(shè)置“int time_zone = 8, daily_reset_time = 5;”;3、通過“bool IsTimeToReset(time_t last_reset_time, time_t cur_time){...}”方法實現(xiàn)判斷即可。
判斷2個時間戳是不是同一天
思路分析
判斷2個時間戳是否不在同一天,只需要將2天各自的絕對秒數(shù)除以24 * 3600得到從epoch到現(xiàn)在過了多少天 然后兩個結(jié)果如果相差大于0,表明不是同一天,需要重置。 但需要考慮2個因素:
一是當(dāng)前時間減去設(shè)定的重置時間點(比如每天的5點),因為是5點重置,減去5*3600,確保當(dāng)前的時間大于等于重置的時間點,即當(dāng)天的5點。
二是絕對秒數(shù)加上對應(yīng)的時區(qū)對應(yīng)的那部分時間戳,這樣得到的時間是對應(yīng)當(dāng)?shù)貢r間的。 舉例來說,不加時區(qū)的時間,得到的是從格林威治時間1970年1月1日00:00:00以來的第幾天,北京時間比格林威治時間早8小時,那么如果是格林威治時間的16點,對應(yīng)的就是北京時間的第二天的零點,而時間上我們要算的就是對應(yīng)這個時區(qū)的時間對應(yīng)的天數(shù)的差值,所以要加上時區(qū)。 導(dǎo)致的時間,即time_zone * 3600
代碼實現(xiàn)
int time_zone = 8, daily_reset_time = 5; time_t BetweenDays(time_t time1, time_t time2) { return (time1 + time_zone *3600)/3600/24 - (time2 + time_zone *3600)/3600/24; } /* * last_reset_time 為上次執(zhí)行的每日重置時間 * cur_time 為當(dāng)前時間 */ bool IsTimeToReset(time_t last_reset_time, time_t cur_time) { return BetweenDays(cur_time - 3600 * daily_reset_time, last_reset_time - 3600 * daily_reset_time) > 0; }
php,一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運用。
到此,相信大家對“php如何判斷兩個時間戳是不是一天”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。