2012-07-27 11 views
14

मुझे PHP में डेट-टाइम चर से 45 मिनट घटाना होगा।PHP, डेट-टाइम चर से मिनटों को घटाने के लिए स्ट्रेटोटाइम का उपयोग करें?

कोड:

$thestime = '2012-07-27 20:40'; 
$datetime_from = date("Y-m-d h:i",strtotime("-45 minutes",strtotime($thestime))); 
echo $datetime_from; 

परिणाम 2012-07-27 07:55 देता है।

यह 2012-07-27 19:55 होना चाहिए, हालांकि। मैं यह कैसे तय करुं?

उत्तर

34

आप क्या करना चाहिए:

$datetime_from = date("Y-m-d H:i", strtotime("-45 minutes", strtotime($thestime))); 

होने h के बजाय H का मतलब है एक 24 घंटे प्रारूप प्रयोग किया जाता है, पहले शून्य घंटे का प्रतिनिधित्व: 0023 के माध्यम से।

आप PHP date function documentation में इस पर और अधिक पढ़ सकते हैं।


रहे हैं भी, जो और अधिक धाराप्रवाह हैं ऐसा करने का उन्मुख तरीके, DateTime::sub की तरह वस्तु:

$datetime_from = (new DateTime($thestime))->sub(DateInterval::createFromDateString('45 minutes'))->format('Y-m-d H:i') 

या और भी अधिक अर्थपूर्ण जिस तरह फैली हुई है Carbon पुस्तकालय द्वारा की पेशकश की PHP के DateTime वर्ग में बनाया गया:

$datetime_from = (new Carbon($thestime))->subMinutes(45)->format('Y-m-d H:i');