溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php如何判斷兩個時間戳是不是一天

發(fā)布時間:2022-11-07 09:49:01 來源:億速云 閱讀:112 作者:iii 欄目:編程語言

本篇內(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是什么語言

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í)!

向AI問一下細節(jié)

免責(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)容。

php
AI