2011-01-25 12 views
10

मैं एक तिथि डालने की कोशिश कर रहा हूं, CURDATE() को एक एसक्यूएल DateTime फ़ील्ड में कहें।मैं php में SQL प्रारूप में दिनांक कैसे परिवर्तित कर सकता हूं? (और इसे सम्मिलित करें)

मेरे तिथि के प्रारूप में है: 28/01/2008

जब मैं एसक्यूएल को सम्मिलित करने के लिए प्रयास करते हैं, मैं सिर्फ शून्य मिलता है।

तो मैं इसे ठीक से कैसे परिवर्तित कर सकता हूं?

उत्तर

20
$newdate = date('Y-m-d', strtotime($olddate)); 
+0

strtotime() कुछ भी वापस नहीं कर रहा है। –

+0

ठीक है, स्ट्रेटोटाइम सिर्फ उस प्रारूप पर काम नहीं करता है ... '/' को '0' ' –

+0

में बदलने की ज़रूरत है मुझे लगता है कि स्ट्रेटोटाइम फ्रेंच दिनांक प्रारूप को समझ नहीं पा रहा है ..! आप मेरे कोड का उपयोग कर सकते हैं ... – MatTheCat

2
join('-',array_reverse(explode('/',$date))) 

मानक YYYY-MM-DD MySQL दिनांक प्रारूप प्राप्त करने के लिए।

या बस का उपयोग MySQL 'DATE_FORMAT

5

मैं एक तारीख को सम्मिलित करने के कोशिश कर रहा हूँ, मान लीजिए कि एक एसक्यूएल दिनांक समय क्षेत्र के लिए CURDATE()।

$timestamp = strtotime($old_date); 
$mydate = date('Y-m-d H:i:s', $timestamp); 
1

मैं एक तारीख को सम्मिलित करने के कोशिश कर रहा हूँ, चलो CURDATE कहना() एक एसक्यूएल दिनांक समय क्षेत्र के लिए।

आप MySQL फ़ंक्शन का उपयोग क्यों नहीं करते? यदि यह (CURDATE नहीं है) आप चाहते हैं 28/01/2008

, लेकिन dd/mm/yyyy प्रारूप में एक PHP चर रहा है:

insert tbl (id, other, datecol) 
values(NULL, 'abcdef', CURDATE()); 

मेरे तिथि के प्रारूप में है इसके बजाय, फिर साहित्य को प्रारूपित करने के लिए यह MySQL man page देखें। सुरक्षित प्रारूप YYYY-MM-DD और YYYYMMDD बिना समय के हैं।

$date = '28/01/2008'; 
$query = "insert tbl (id, other, datecol) 
      values(NULL, 'abcdef', '" . date('Ymd', strtotime($date)) . "');"; 

नोट: yyyymmdd भी एसक्यूएल सर्वर में एक वैध स्वरूप है।

3

आप यूरोपीय तिथि अंकन (दिन/महीना/वर्ष) strtotime समारोह 0 (जो बारी में तारीख द्वारा 1970-01-01 में परिवर्तित हो जाएगा) वापस आ जाएगी, तो उपयोग कर रहे हैं जब से तुम डॉन - या का उपयोग न करें। विभाजक के रूप में

तो तुम strtotime उपयोग करना चाहते हैं, तो आप अपने तारीख तार बदलने के लिए सिर्फ एक सा होगा:

$olddate = '28/01/2008'; 
$newdate = strtotime(str_replace('/', '-', $olddate)); 

$ newdate अब '2008-01-28' को शामिल करना चाहिए ...

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

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