2010-03-19 10 views
9

MySQL दुकानों तारीख मेरी डेटाबेस (डिफ़ॉल्ट रूप से) के रूप में 'YYYY-MM-DD' मेरे तिथि के लिए फ़ील्ड प्रकार में 'तिथि' है (मुझे किसी भी समय भंडारण की आवश्यकता नहीं है) .. क्या इसे डिफ़ॉल्ट रूप से डीडी/एमएम/वाई वाई वाई में बदलने का कोई आसान तरीका है?बदलें दिनांक स्वरूप (DB या उत्पादन में) डी डी भेजिए/महीना/वर्ष - PHP MySQL

मैं 2 अलग-अलग तालिकाओं में अलग-अलग तिथियों को कॉल करता हूं, और मेरे कोड में से कोई भी मेरे पास डेट वैरिएबल या कुछ भी जैसा नहीं है! उम्मीद है कि यह एक सीधा आगे परिवर्तन है?

उत्तर

15

PHP में आप:

  • तारीख एक टाइमस्टैम्प करने के लिए, strtotime
  • स्वरूप इसे का उपयोग, का उपयोग कर रूपांतरण date

इस तरह थोड़ा, मैं चाहता हूँ ay:

$timestamp = strtotime($date_from_db); 
echo date('d/m/Y', $timestamp); 

लेकिन यह केवल, 1970 और 2038 के बीच तारीखों के लिए काम करेगा के रूप में timestamps के रूप में 32 बिट पूर्णांकों जमा हो जाती है, 1970-01-01 से गिनती।


MySQL में, मुझे लगता है कि date_format फ़ंक्शन चाल करेगा।
उदाहरण के लिए:

mysql> select date_format(curdate(), '%d/%m/%Y'); 
+------------------------------------+ 
| date_format(curdate(), '%d/%m/%Y') | 
+------------------------------------+ 
| 19/03/2010       | 
+------------------------------------+ 
1 row in set (0.03 sec) 


और, completness के लिए, एक और समाधान, पीएचपी में, कि 1970-2038 की सीमा से ग्रस्त नहीं है DateTime वर्ग का उपयोग करने के होगा, और, विशेष रूप से:

  • DateTime::__construct तारीख डीबी
  • DateTime::format द्वारा दिया आप चाहते हैं जो कुछ भी प्रारूप करने के लिए तारीख को स्वरूपित करने पार्स करने के लिए।
उदाहरण के लिए

, कोड के इस भाग:

$date = new DateTime('2010-03-19'); 
echo $date->format('d/m/Y'); 

आप इस उत्पादन मिलेगा:

19/03/2010 
+0

मैं इस दिनांक फ़ंक्शन का उपयोग कैसे करूं और कैसे? – Jess

+0

मैंने अधिक जानकारी जोड़ने के लिए अपना जवाब संपादित कर दिया है; क्या आपकी टिप्पणी-प्रश्न अभी भी मान्य है? यदि हां, तो कौन सा संभावित समाधान * "यह दिनांक फ़ंक्शन" * का संदर्भ देता है? –

+0

मैं थोड़ा उलझन में हूं जहां मैं इसे सम्मिलित करता हूं! : एस क्षमा करें, मेरे पास एक खेल होगा और इसे काम करेगा :) – Jess

3

बस का उपयोग Mysql समारोह में बनाया DATE_FORMAT()

SELECT DATE_FORMAT(some_date_field, "Y/m/d"); 
+1

यह, प्रारूप को छोड़कर उदाहरण में गलत है। :) –

+0

@MikaelS जो सही है? – candlejack

0

डीबी से मिलने के बाद, $time = strtotime($value) का उपयोग उस में एक टाइमस्टैम्प कन्वर्ट करने के लिए पीएचपी। फिर उस प्रारूप में प्राप्त करने के लिए date("d/m/Y", $time) का उपयोग करें।

1

आप अपने पृष्ठों में इच्छित किसी भी प्रारूप में अपनी तारीख को प्रदर्शित कर सकते हैं, mysql में मैं वास्तव में नहीं जानता, php में आप इस फ़ंक्शन का उपयोग कर सकते हैं: दिनांक (स्ट्रिंग $ प्रारूप [, int $ timestamp])। तो आप यह कर सकते हैं:

गूंज दिनांक ("डी/एम/वाई", स्ट्रेटोटाइम ($ your_date)); http://php.net/manual/en/function.date.php

0

आप Zend फ्रेमवर्क जैसे कुछ प्रयोग किया जाता है, यह है क्योंकि आप वर्गों के बहुत सारे डेटाबेस और तिथि स्वरूपण को संभालने के लिए है बहुत आसान होगा:

आप यहाँ पूर्ण विवरण प्राप्त कर सकते हैं।फिर आप हमेशा ब्राजील के दिनांक प्रारूप के रूप में आउटपुट देखेंगे। डेल्फी टीडीएटीफ़िल्ल्ड की तरह मौजूदा कंप्यूटर में विंडोज डेट प्रारूप का उपयोग करता है, ज़ेंड आपके स्वयं के कॉन्फ़िगरेशन में दिखाई देगा।

0

मैं इस स्क्रिप्ट का उपयोग कर रहा हूं और इसे ऊपरी रेखा पर रख रहा हूं।

$(function(){ 
    var pickerOpts = { 
     dateFormat: "yy-mm-dd" 
    }; 
    $("#datepicker").datepicker(pickerOpts); 
}); 

और अपने रूप में यह एक।

<input id=**"datepicker" type="date"** name="Start" size="9" value="<?php 

echo $Start; 

?>" /> 

यह आपके पृष्ठ पर डी/एम/वाई के रूप में दिखाई देगा लेकिन आपके डेटाबेस वाई/एम/डी में दिखाई देगा।

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