2013-10-15 7 views
7
$combinedDT = date('Y-m-d H:i:s', strtotime('$date $time')); 

दिनांक स्वरूप 2013-10-14मर्ज दिनांक और समय

समय प्रारूप 23:40:19

मैं शून्य हो रही है जब एक datetime डेटाप्रकार में संगृहीत करने का प्रयास

उत्तर

21

आप वर्तमान में strtotime('$date $time') कर रहे हैं। सिंगल-कोट्स में लिपटे वेरिएबल्स को अलग नहीं किया जाता है। यदि आप सिंगल-कोट्स का उपयोग करते हैं, तो PHP इसे शाब्दिक स्ट्रिंग के रूप में पेश करेगा, और strototime() स्ट्रिंग $date $time को टाइमस्टैंप में कनवर्ट करने का प्रयास करेगा।

यह असफल हो जाएगा और यह समझाएगा कि आपको गलत परिणाम क्यों मिल रहे हैं।

इसके बजाय आप दोहरे उद्धरण चिह्नों का उपयोग करने की जरूरत है:

$combinedDT = date('Y-m-d H:i:s', strtotime("$date $time")); 
              ^  ^
14

और दिनांक समय वस्तुओं के साथ काम कर यहाँ आने वाले लोगों के लिए:

$date = new DateTime('2017-03-14'); 
$time = new DateTime('13:37:42'); 

// Solution 1, merge objects to new object: 
$merge = new DateTime($date->format('Y-m-d') .' ' .$time->format('H:i:s')); 
echo $merge->format('Y-m-d H:i:s'); // Outputs '2017-03-14 13:37:42' 

// Solution 2, update date object with time object: 
$date->setTime($time->format('H'), $time->format('i'), $time->format('s')); 
echo $date->format('Y-m-d H:i:s'); // Outputs '2017-03-14 13:37:42' 
संबंधित मुद्दे