2013-07-18 7 views
15

मैं एक अनुस्मारक ईमेल भेजना चाहता हूं। मैं लिनक्स/यूनिक्स/बीएसडी बॉक्स या विंडोज़ पर अनुसूचित कार्य पर cron का उपयोग नहीं करना चाहता हूं।मिनटों को कैसे घटाएं

मैं वर्तमान समय से 15 मिनट घटाने की कोशिश कर रहा हूं।

यहाँ

मेरी कोड अब तक (काम नहीं करता है) है:

$days = date("j",time()); 
$months = date("n",time()); 
$years = date("Y",time()); 
$hours = date("G",time()); 
$mins = (date("i",time())); 
$secs = date("s",time()); 
$mins = $mins-15; 

उत्तर

24

बदलें प्रयास करें शून्य से 15 मिनट (में सेकेंड) और फिर एक तिथि पर वापस कनवर्ट करें:

$date = date("Y-m-d H:i:s"); 
$time = strtotime($date); 
$time = $time - (15 * 60); 
$date = date("Y-m-d H:i:s", $time); 
+0

मुझे सबसे अच्छा जवाब मिला @ थॉमस –

4

यह कैसे परिवर्तित करने से पहले समय() से 15 मिनट substracting के बारे में?

$time = time() - (15 * 60); 

और फिर अपने कोड में समय() के बजाय $ समय का उपयोग करें।

29

वर्तमान समय से 15 मिनट घटाना करने के लिए, आप उपयोग कर सकते strtotime():

$newTime = strtotime('-15 minutes'); 
echo date('Y-m-d H:i:s', $newTime); 
+3

पुरज़ोर सलाह यह समाधान, अधिक सुरुचिपूर्ण और एक्सप्रेशिव। – Andreyco

+0

बहुत बढ़िया! स्वीकार किया जाना चाहिए! –

2

तो एक टाइमस्टैम्प में दिनांक का उपयोग (सेकंड में)

$min = time() - 900; //900 seconds = 15 minutes 
22

आपका उपयोग कर सकते हैं

$date = new DateTime(); 
$interval = new DateInterval("PT15M"); 
$interval->invert = 1; 
$date->add($interval); 
echo $date->format("c") . "\n"; 
+1

यह उच्चतम रेट किया जाना चाहिए, धन्यवाद! – loafer

+1

यदि आपके पास डेटटाइम ऑब्जेक्ट के हिस्से के रूप में निर्दिष्ट टाइमज़ोन है तो यह समाधान भी बेहतर होगा। – dchayka

2
$currentTime = date('Y-m-d H:i:s'); 
$before15mins = strtotime('-15 minutes'); 
echo date('Y-m-d H:i:s', $before15mins); 
2

के बाद, जिस तरह से आप वर्तमान समय

$addInterval = date('Y-m-d H:i:s', strtotime("+$days days $hours hours $minute minute $sec second", strtotime(currentTime))); 
3

दिन/घंटे/मिनट/सेकंड जोड़ सकते हैं तो आप इस रूप में अच्छी तरह से कोशिश कर सकते है

$dateTimeMinutesAgo = new DateTime("15 minutes ago"); 
$dateTimeMinutesAgo = $dateTimeMinutesAgo->format("Y-m-d H:i:s"); 
+0

बेहद सरल। स्वीकृत उत्तर होना चाहिए। – GustavoMP

संबंधित मुद्दे