2010-07-20 20 views
14

मेरे पास एक jquery कैलेंडर है जो एमएम/डीडी/वाईवायवाईएमएम/डीडी/वाई वाई वाई वाई वाई वाई वाई वाई-एमडी-डीडी में कैसे परिवर्तित करें?

पर इनपुट मान सेट करता है, मैं इसे कैसे परिवर्तित करूं ताकि मेरा डेटाबेस कॉलम (दिनांक) इसे सही तरीके से स्वीकार कर सके?

संपादित

गॉर्डन सही था - अपने लिंक ठीक है, क्या यह उत्तर

$mysql_date = date('Y-m-d H:i:s', strtotime($user_date)); 
+14

वहाँ वास्तव में कोई [जवाब] है (http://stackoverflow.com/search?q=How+to+convert+MM%2FDD%2FYYYY+to+YYYY -एमएम-डीडी% 3 एफ + पीएचपी) जो आपको वह देगा? – Gordon

+3

मुझे यकीन है कि अधिकांश jQuery प्लगइन्स को कॉन्फ़िगर किया जा सकता है, यहां तक ​​कि उनकी तिथि प्रारूप भी। – Piskvor

+0

एक और विकल्प छोड़ना है और डीबी को रूपांतरण करना है –

उत्तर

33
$date = "07/12/2010"; 
$your_date = date("Y-m-d", strtotime($date)); 

मुझे आशा है कि मेरा उत्तर उपयोगी है :)

+14

तिथि में '-' और'/'की विभिन्न व्याख्या को ध्यान में रखना महत्वपूर्ण है। यदि आप '-' php का उपयोग करते हैं तो यह डीडी-एमएम होने का निर्धारण करेगा, यदि आप'/'php का उपयोग करते हैं तो यह एमएम-डीडी होने का निर्धारण करेगा। उपयोगी जानकारी देने के लिए – Devon

+0

धन्यवाद @ डेवन। –

+0

@ डेवन टिप्पणी पर बस एक नोट, मुझे नहीं पता था कि PHP ने इस तरह से कार्य किया है और, मेरी राय में, यह वास्तव में कार्य करने का एक बुरा तरीका है, क्योंकि इससे त्रुटियों का कारण बन जाएगा क्योंकि वहां स्थान हैं (ब्राजील की तरह) जहां तिथि प्रारूप "डीडी/एमएम/वाईवायवाई" है और क्योंकि '/' का उपयोग किया जा रहा है PHP PHP ** ** गलत तरीके से ** यह "एमएम-डीडी" निर्धारित करेगा। –

10

आप PHP में ऐसा करना चाहते हैं के लिए मुझे बताया?

  1. उपयोग

    $christmas = "12/25/2010"; 
    $parts = explode('/',$christmas); 
    $yyyy_mm_dd = $parts[2] . '-' . $parts[0] . '-' . $parts[1] 
    
  2. उपयोग strptime विस्फोट एक टाइमस्टैम्प करने के लिए इसे पार्स करने के लिए और फिर strftime जिस तरह से आप यह चाहते फ़ॉर्मेट करने के लिए।

2

हमें और जानकारी चाहिए?

1) डेटाबेस में कौन सी स्क्रिप्ट डाली जा रही है? मुझे लगता है कि PHP

2) इसके अलावा हमें यह जानने की आवश्यकता है कि आप तिथि को कैसे संग्रहीत कर रहे हैं और किस प्रारूप में?

मेरे समाधान होगा:

$dates = preg_split('/\//',$_POST['date']); 

$month = $dates[0]; 
$day = $dates[1]; 
$year = $dates[2]; 

$finalDate = $year.'-'.$month.'-'.$day; 
1

मैं strtotime() समारोह और उसके बाद date() उपयोग करने के लिए सुझाव देगा। इसके द्वारा आप तिथि के किसी भी प्रारूप को परिवर्तित कर सकते हैं।

$unix_time_stamp = strtotime($mm_dd_yyyy); 
$yyyy_mm_dd = date(Y/m/d,$unix_timestamp); 
+0

कृपया सिंटैक्स त्रुटियों को ठीक करें। – Gordon

1

वैकल्पिक रूप से आप explode का उपयोग किए बिना ऐसा कर सकते हैं:

$date = "12/25/2010"; 
$mysql_date = date('Y-m-d', strtotime($date)); 

अब आप $mysql_date उपयोग कर सकते हैं अपने डेटाबेस में डालने के लिए।

0

अगर आप सिर्फ एक लाइन यह कोशिश करना चाहते हैं:

$time = "07/12/2010"; 

$new_time = preg_replace("!([01][0-9])/([0-9]{2})/([0-9]{4})!", "$3-$1-$2", $time); 

var_dump($time); 
var_dump($new_time); 
-1

निम्नलिखित कोड का प्रयास करें:

$date = "01-14-2010"; 
echo $your_date = date("Y-m-d", strtotime($date)); 

यह 1969-12-31 गूंज होगा।

0

चर $d

$dob करने के लिए दिनांक मान निर्दिष्ट तारीख, जिस आप बदलना चाहते हैं दर्शाता है

$d= date('Y-m-d',strtotime ($dob)); 
1

इस प्रयास करें:

$date = explode('/', '16/06/2015'); 

$new = date('Y-m-d H:i:s', strtotime(implode('-', array_reverse($date)))); 

रिटर्न: 2015/06/15 00: 00:00

उम्मीद है कि इससे मदद मिलती है!

3

निम्नलिखित कोड का प्रयास करें,

<?php 
$date = "10/24/2014"; 
$date = DateTime::createFromFormat("m/d/Y" , $date); 
echo $date->format('Y-m-d'); 
?> 
+0

मुझे यह जवाब पसंद आया क्योंकि यह अधिक लचीला है, क्योंकि PHP को कुछ भी अनुमान लगाने की ज़रूरत नहीं है, इसलिए आप दिनांक प्रारूप (एम/डी/वाई) और (वाई-एम-डी) से गुजर रहे हैं। –

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