2013-07-08 167 views
0

我想檢查時間戳是否在我網站用戶的結算週期範圍內。例如如何計算結算週期的日期php範圍?

如果我的用戶在03/07/2012註冊。我想知道他的結算週期是否在一個月內超過三次。例如如果有一天(2013年9月4日)他試圖提出要約,我必須找到他的範圍。

我已經存儲了一個時間戳與他在mysql數據庫中的註冊時間。我試圖使用mktime,但我不能管理函數

+0

你嘗試過什麼嗎? –

+0

很好。祝你好運。 –

+0

而不是使用mktime,如果你有一個理智的格式日期只是時間 – Orangepill

回答

1

如果我確定了你的權限,你知道何時用戶已經註冊,如果現在(或在任何其他日期)他做出一些行動,你需要知道日期帳單月份的開始和結束?

像,如果我已在2012-02-04上註冊,那麼目前我的帳單月份是2013-07-04 - 2013-08-04

看看這個:

$registerDate = '2012-05-04'; 
$date = '2013-04-15'; 

$from = strtotime($registerDate); 
$to = strtotime($date); 

$interval = date_diff(date_create(date('Y-m-d H:i:s', $from)), date_create(date('Y-m-d H:i:s', $to))); 

$billingMonthStart = strtotime($interval->format('-%d days'), $to); 
$billingMonthEnd = strtotime('+1 month', $billingMonthStart); 

所以,現在如果我跑

var_dump(@date('Y-m-d', $billingMonthStart), @date('Y-m-d', $billingMonthEnd)); 

我會得到這樣的結果:

string(10) "2013-04-04" 
string(10) "2013-05-04" 

難道這就是你的意思?

+0

這是一個很好的答案,但它不能正常工作。它在一個月前給我看。 – roxeman3

+0

您能否提供您想要在月份包裝的註冊日期和日期,以便我可以檢查? –

+0

對不起,它工作得很好。一位朋友測試了它,他告訴我這一點。我自己再試一次,一切都好 – roxeman3