2010-04-22 14 views
8

मैं इस पोस्ट देख रहा था दिनों जोड़कर भविष्य की तारीख गिना जा रहा है, और यह मैं क्या जरूरत के करीब है: PHP - How to count 60 days from the add dateपीएचपी एक चर तारीख

हालांकि, उस पोस्ट में, गणना 60 दिनों जोड़कर किया जाता है वर्तमान तारीख तक। मुझे क्या करने की ज़रूरत है एक वैरिएबल डेट (के आधार पर दिनांक की गणना करें और वर्तमान दिनांक नहीं)।

कुछ इस तरह:

$my_date = $some_row_from_a_database; 
$date_plus_10_days = ???; 

किसी को भी ऐसा करने के लिए कैसे पता है?

धन्यवाद

+0

डेटाबेस (टाइमस्टैम्प) में दिनांक प्रारूप क्या है? –

उत्तर

26

आप "10 दिनों" भाग से पहले कुछ रख सकते हैं:

strtotime("2010-01-01 +10 days"); 
+4

+1 ने आज एक नई चीज़ सीखी। धन्यवाद। शायद ओपी कुछ मानव पठनीय स्ट्रिंग में वापस कनवर्ट करना चाहता है। तो, तिथि की तरह कुछ ('वाई-एम-डी', स्ट्रेटोटाइम ("2010-01-01 +10 दिन")); – zaf

+4

'स्ट्रोटोटाइम' दूसरे तर्क के रूप में एक टाइमस्टैम्प लेता है जिसे आप पहली तर्क के रूप में डालने के लिए संदर्भ टाइमस्टैम्प के रूप में उपयोग किया जाएगा, इसलिए अगर ओपी को MySQL से टाइमस्टैंप मिला, तो वह 'स्ट्रेटोटाइम' (60 + दिन ', $ timestampFromMySql); ' – Gordon

+0

सही - धन्यवाद! – OneNerd

6

उपयोग date_add

http://www.php.net/manual/en/datetime.add.php

$my_date = new DateTime($some_row_from_a_database); 
$date_plus_10_days = date_add($my_date, new DateInterval('P10D')); 
+6

आपको उल्लेख करना चाहिए कि यह केवल PHP 5.3.0 से उपलब्ध है। –

1

मैं देख रहा हूँ आप से डेटा को पुन: प्राप्त कर रहे हैं एक डेटाबेस

उदाहरण:: आप mysql का उपयोग कर रहे यदि आप चयन पर यह कर सकते हैं आप तालिका की अंतिम तिथि और इस तिथि-7

select max(datefield) as ultimaf, DATE_SUB(max(datefield),INTERVAL 7 DAY) as last7 
from table 

है यह आसान उपयोग curdate() अगर जरूरत दिनों आप आज की तारीख चाहते हैं।

select count(*) from table 
where DATE_SUB(CURDATE(),INTERVAL 7 DAY)<=datefield" 
2
date('Y-m-d H:i:s', strtotime("2014-11-24 06:33:39" +35 days")) 

इस परिभाषित प्रारूप में गणना की तारीख मिल जाएगा:

आपको लगता है कि दोनों के बीच एक गतिशील की जरूरत है पिछले 7 दिनों की गिनती का चयन करता है।

0

मान लीजिए आज की तारीख

date_default_timezone_set('Asia/Calcutta'); 
$today=date("Y-m-d"); 

है और इस प्रकार मैं आज की तारीख में 10 दिनों में जोड़ सकते हैं:

$date_afte_10_days = date('Y-m-d', strtotime("$today +10 days")); 
0

आप strtotime() पर गौर करना होगा। मैं अपने अंतिम कोड कुछ इस तरह दिखेगा कल्पना:

$dateVariable  = strtotime('2017-01-29');//your date variable goes here 
$date_plus_60_days = date('Y-m-d', strtotime('+ 60 days', $dateVariable)); 
echo $date_plus_60_days; 

आप उपयोग कर रहे हैं पीएचपी> = 5.2 मैं दृढ़ता से आप नए दिनांक समय चीज़ का इस्तेमाल सुझाव देते हैं। उदाहरण के लिए नीचे:

$date_plus_60_days = new DateTime("2006-12-12"); 
$date_plus_60_days->modify("+60 days"); 
echo $date_plus_60_days->format("Y-m-d"); 
संबंधित मुद्दे