दिलचस्प पोस्ट
एक UIImage का आकार बदलने का सबसे सरल तरीका है? किसी एप्लिकेशन को लॉन्च करें और उसे दूसरे मॉनीटर पर भेजें? AngularJS – एनजी-अक्षम एंकर टैग के लिए काम नहीं कर रहा है क्या मैं UITextView पर ऑटो की गई लिंक का रंग बदल सकता हूँ? Jquery इनपुट सरणी क्षेत्र प्राप्त करें ऑब्जेक्ट लोडर ओपनग्ल में बड़ी सीएसवी फ़ाइल पर स्मृति का पायथन (numpy) जावास्क्रिप्ट में स्ट्रिंग से सभी गैर-संख्यात्मक वर्ण स्ट्रिप करें हैश तालिका का समय जटिलता एक ही समय में दो सरणी तत्वों के अस्थिर संदर्भ कैसे प्राप्त करें? जब एक आइफ्रेम jQuery में लोड हो रहा है, तो मैं एक घटना कैसे फर्क कर सकता हूं? कैसे सी में एक चार सरणी कॉपी करने के लिए? अकाका के लिए अच्छा उपयोग केस मैं जावा में सिस्टम टाइम कैसे सेट कर सकता हूं? PHP 5.3 के साथ mssql कैसे काम करें?

HTML5 इनपुट प्रकार की तिथि – आज के लिए डिफ़ॉल्ट मूल्य?

नया एचटीएमएल 5 इनपुट प्रकार महान हैं ओपेरा का नया अंतर्निहित दिनांक पिकर एक हवा है, और क्रोम ने कम से कम स्पिन-पहिया कार्यान्वयन के साथ नए इनपुट प्रकार का समर्थन किया है।

लेकिन क्या आज की तिथि के लिए दिनांक फ़ील्ड का डिफ़ॉल्ट मान सेट करने का कोई तरीका है? ओपेरा के साथ, मैं डेट पिकर से 'आज' चुन सकता हूं, और जैसे ही मैं क्रोम में किसी भी चरण बटन पर क्लिक करता हूं, आज की तारीख से यह बढ़ता / घटाता है

मैं इस छोटी सी समस्या का समाधान करने के लिए शर्मीली नहीं हूं, लेकिन यह मेरे लिए मूर्खतापूर्ण लगता है कि दोनों ब्राउज़रों को वर्तमान तारीख से पूरी तरह से अवगत हैं, परन्तु स्वचालित रूप से इसे कम से कम एक प्लेसहोल्डर के रूप में पॉप नहीं करेंगे।

वेब के समाधान से एकत्रित समाधान "HTML5 इनपुट प्रकार की तिथि – आज के लिए डिफ़ॉल्ट मूल्य?"

किसी भी HTML इनपुट फ़ील्ड की तरह, ब्राउज़र इसे खाली छोड़ देगा जब तक कि कोई डिफ़ॉल्ट मान value विशेषता के साथ निर्दिष्ट नहीं हो।

दुर्भाग्य से HTML5 value विशेषता (जो मैं देख सकता हूं) निर्दिष्ट करने का एक तरीका प्रदान नहीं करता, केवल 2011-09-29 जैसी एक आरएफसी 3339 वैध तारीख क्षमा करें, यह बहुत मदद नहीं करता है!

JavaScript दिनांक ऑब्जेक्ट मैन्युअल रूप से करने से बचने के लिए आवश्यक प्रारूप के लिए पर्याप्त अंतर्निहित समर्थन प्रदान करता है:

सही समयक्षेत्र समर्थन के लिए इसे जोड़ें:

 Date.prototype.toDateInputValue = (function() { var local = new Date(this); local.setMinutes(this.getMinutes() - this.getTimezoneOffset()); return local.toJSON().slice(0,10); }); 

jQuery:

 $(document).ready( function() { $('#datePicker').val(new Date().toDateInputValue()); });​ 

शुद्ध जेएस:

 document.getElementById('datePicker').value = new Date().toDateInputValue(); 

यह मेरे लिए काम करता है:

 document.getElementById('datePicker').valueAsDate = new Date(); 

https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement

निम्न कोड अच्छी तरह से काम करता है:

 <input type="date" value="<?php echo date('Ym-d'); ?>" /> 

ध्यान दें कि यह PHP पर निर्भर करता है

आप जावास्क्रिप्ट के जरिये डिफ़ॉल्ट मान को भर सकते हैं जैसा कि यहां देखा गया है: http://jsfiddle.net/7LXPq/

 $(document).ready( function() { var now = new Date(); var month = (now.getMonth() + 1); var day = now.getDate(); if(month < 10) month = "0" + month; if(day < 10) day = "0" + day; var today = now.getFullYear() + '-' + month + '-' + day; $('#datePicker').val(today); }); 

मुझे शायद यह देखने के लिए थोड़ा अतिरिक्त समय लगेगा कि महीना और तारीख सिंगल डिजिट हैं और अतिरिक्त शून्य के साथ उनका प्रीफ़िक्स … लेकिन यह आपको एक विचार देना चाहिए।

संपादित करें: अतिरिक्त शून्य के लिए जोड़ा गया चेक

एचटीएमएल

 <input type="date" id="theDate"> 

जे एस

 $(document).ready(function() { var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear(); if (month < 10) month = "0" + month; if (day < 10) day = "0" + day; var today = year + "-" + month + "-" + day; $("#theDate").attr("value", today); }); 

डेमो

यदि आप jQuery का उपयोग नहीं करना चाहते हैं, तो आप ऐसा कुछ कर सकते हैं

एचटीएमएल

 <input type="date" id="theDate"> 

जे एस

 var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear(); if (month < 10) month = "0" + month; if (day < 10) day = "0" + day; var today = year + "-" + month + "-" + day; document.getElementById("theDate").value = today; 

डेमो

जैसे एचटीएमएलए में, आज की तिथि के लिए दिनांक फ़ील्ड का डिफ़ॉल्ट मान सेट करने का कोई तरीका नहीं है? जैसा कि अन्य उत्तरों में दिखाया गया है, वैसा को जावास्क्रिप्ट का उपयोग करके सेट किया जा सकता है, और यह आम तौर पर सबसे अच्छा तरीका है यदि आप डिफ़ॉल्ट सेट करना चाहते हैं तो पृष्ठ के लोड होने पर उपयोगकर्ता की वर्तमान तारीख क्या है।

एचटीएमएल 5 input type=date तत्वों के लिए valueAsDate गुण परिभाषित करता है, और इसका इस्तेमाल करते हुए, आप आरंभ किए गए किसी ऑब्जेक्ट से सीधे new Date() द्वारा निर्धारित कर सकते हैं। हालांकि, जैसे IE 10 यह संपत्ति नहीं जानता है (इसमें input type=date लिए वास्तविक समर्थन भी नहीं है, लेकिन यह एक अलग मुद्दा है।)

इसलिए व्यवहार में आपको value संपत्ति सेट करने की आवश्यकता है, और यह आईएसओ 8601 कन्फर्मेंट नोटेशन में होना चाहिए। आजकल यह आसानी से किया जा सकता है, क्योंकि हम toISOString में toISOString किए जाने वाले ब्राउज़र को toISOString विधि का समर्थन करने की उम्मीद कर सकते हैं:

 <input type=date id=e> <script> document.getElementById('e').value = new Date().toISOString().substring(0, 10); </script> 

मानक वाईएमडी प्रारूप का पालन करें, यदि आप PHP का उपयोग कर रहे हैं

 <input type="date" value="<?php echo date("Ymd"); ?>"> 

यदि आप ब्रशर में तिथि और समय से संबंधित कुछ भी कर रहे हैं, तो आप Moment.js का उपयोग करना चाहते हैं:

 moment().format('YYYY-MM-DD'); 

moment() वर्तमान दिनांक और समय का प्रतिनिधित्व करने वाला ऑब्जेक्ट देता है इसके बाद आप निर्दिष्ट प्रारूप के अनुसार एक तार प्रतिनिधित्व प्राप्त करने के लिए अपने .format() विधि को कॉल करें। इस मामले में, YYYY-MM-DD

पूर्ण उदाहरण:

 <input id="today" type="date"> <script> document.getElementById('today').value = moment().format('YYYY-MM-DD'); </script> 

संभव समाधान

 document.getElementById("yourDatePicker").valueAsDate = new Date() 

JSFiddle उदाहरण

बहुत सरल, बस PHP, एएसपी, जावा जैसी सर्वर साइड भाषा का उपयोग करें या यहां तक ​​कि आप जावास्क्रिप्ट का उपयोग भी कर सकते हैं।

यहाँ समाधान है

 <?php $timezone = "Asia/Colombo"; date_default_timezone_set($timezone); $today = date("Ymd"); ?> <html> <body> <input type="date" value="<?php echo $today; ?>"> </body> </html> 

यदि आपको इनपुट दिनांक भरने की आवश्यकता है तो आप इसका उपयोग कर सकते हैं:

 <input type="datetime-local" name="datetime" value="<?php echo date('Ym-d').'T'.date('H:i'); ?>" /> 

यह मैंने अपने कोड में किया है, मैंने अभी परीक्षण किया है और यह ठीक काम किया है, इनपुट प्रकार = "दिनांक" स्वचालित रूप से curdate सेट करने के लिए समर्थन नहीं करता है, इसलिए जिस तरह से मैं इस सीमा को दूर करने के लिए इस्तेमाल किया था, वह PHP कोड का उपयोग कर रहा था ।

 <html> <head></head> <body> <form ...> <?php echo "<label for='submission_date'>Data de submissão</label>"; echo "<input type='date' name='submission_date' min='2012-01-01' value='" . date('Ym-d') . "' required/>"; ?> </form> </body> </html> 

आशा करता हूँ की ये काम करेगा!

इस मुद्दे को 2 लाइनों में हल करने के लिए moment.js का उपयोग करें, HTML5 दिनांक इनपुट प्रकार केवल "YYYY-MM-DD" इस प्रारूप को स्वीकार करते हैं। मैं अपनी समस्या को इस तरह से हल करता हूं

 var today = moment().format('YYYY-MM-DD'); $('#datePicker').val(today); 

यह इस समस्या को सुलझाने का सबसे आसान तरीका है

जावास्क्रिप्ट द्वारा:

 var today = new Date(); document.getElementById("theDate").value = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2); 
 new Date().getFullYear()+"-"+ ((parseInt(new Date().getMonth())+1+100)+"").substring(1) 

चूंकि आज की तारीख को मूल्य निर्धारित करने की कोई डिफ़ॉल्ट पद्धति नहीं है, इसलिए मैं कहूंगा कि यह उसके आवेदन पर निर्भर होना चाहिए। यदि आप अपने ऑडियंस का डेट पिकर के एक्सपोजर को अधिकतम करने के लिए देख रहे हैं, तो डिफ़ॉल्ट मान सेट करने के लिए सर्वर-साइड स्क्रिप्ट (PHP, एएसपी, आदि) का उपयोग करें।

हालांकि, अगर यह सीएमएस के प्रशासन कंसोल के लिए है, और आप जानते हैं कि उपयोगकर्ता हमेशा जेएस या आपकी साइट पर भरोसा रखता है, तो आप jlbruno के अनुसार डिफ़ॉल्ट मान को भरने के लिए सुरक्षित रूप से जेएस का उपयोग कर सकते हैं।

मुझे एक ही समस्या थी और मैंने इसे साधारण जेएस के साथ तय किया था। इनपुट:

 <input type="date" name="dateOrder" id="dateOrder" required="required"> 

जेएस

 <script language="javascript"> document.getElementById('dateOrder').value = "<?php echo date("Ymd"); ?>"; </script> 

महत्वपूर्ण: जेएस स्क्रिप्ट अंतिम कोड पंक्ति या इनपुट के बाद होनी चाहिए, क्योंकि यदि आपने यह कोड पहले रखा था, तो स्क्रिप्ट आपके इनपुट नहीं मिलेगी।

इनपुट फ़ील्ड में आज की तारीख को सम्मिलित करने के लिए HTML के भीतर कोई डिफ़ॉल्ट पद्धति नहीं है हालांकि, किसी अन्य इनपुट फ़ील्ड की तरह वह मान स्वीकार कर लेगा।

आप पीढ़ी को आज की तिथि लाने के लिए और फार्म तत्व के मूल्य क्षेत्र में इनपुट कर सकते हैं।

 <?php // Fetch the year, month and day $year = date(Y); $month = date(m); $day = date(d); // Merge them into a string accepted by the input field $date_string = "$year-$month-$day"; // Send to the browser the input field with the value set with the date string echo "<input type='date' value='$date_string' />"; ?> 

मान फ़ील्ड एक प्रारूप के रूप में YYYY-MM-DD प्रारूप को स्वीकार करता है, ताकि एक ही प्रारूप में एक $date_string इनपुट मूल्य स्वीकार किया जा सकता है और उस दिन, महीने और दिन से आज की तारीख और वीइला से प्राप्त किया जा सकता है! आपके पास एक पूर्वनिर्धारित तिथि है!

उम्मीद है की यह मदद करेगा 🙂

संपादित करें:

यदि आप PHP के बजाय एचटीएमएल के अंदर नेस्टेड इनपुट फ़ील्ड करना चाहते हैं तो आप निम्न कर सकते हैं।

 <?php // Fetch the year, month and day $year = date(Y); $month = date(m); $day = date(d); // Merge them into a string accepted by the input field $date_string = "$year-$month-$day"; ?> <html> <head>...</head> <body> <form> <input type="date" value="<?php print($date_string); ?>" /> </form> </body> </html> 

मुझे एहसास हुआ कि इस प्रश्न को थोड़ी देर पहले (2 साल पहले) पूछा गया था, लेकिन यह अभी भी इंटरनेट पर एक निश्चित जवाब खोजने के लिए मुझे थोड़ी देर ले गई, इसलिए यह किसी को भी सेवा देने के लिए जाता है, जब भी यह उत्तर हो सकता है और जब भी हो सभी को बहुत मदद करता है 🙂

एक और संपादित करें:

लगभग भूल गया, जो कुछ मेरे लिए शाही दर्द है अतीत में हमेशा डिफ़ॉल्ट टाइमज़ोन सेट करना भूल जाता है जब भी PHP में एक स्क्रिप्ट बनाते हैं जो कि दिनांक () फ़ंक्शन का उपयोग करता है।

वाक्यविन्यास date_default_timezone_set(...); । दस्तावेज़ीकरण यहां PHP.net पर पाया जा सकता है और फ़ंक्शन में सम्मिलित करने के लिए समर्थित समयक्षेत्रों की सूची यहां पाई जा सकती है । यह हमेशा से परेशान था क्योंकि मैं ऑस्ट्रेलिया में हूं, सब कुछ हमेशा 10 घंटे वापस धकेल दिया जाता है यदि मैंने इसे ठीक से सेट नहीं किया है क्योंकि यह यूटीसी + 0000 के लिए डिफ़ॉल्ट है जहां मुझे यूटीसी + 1000 की आवश्यकता होती है तो बस सावधान रहें 🙂

धन्यवाद पीटर, अब मैं अपना कोड बदलता हूं।

 <input type='date' id='d1' name='d1'> <script type="text/javascript"> var d1 = new Date(); var y1= d1.getFullYear(); var m1 = d1.getMonth()+1; if(m1<10) m1="0"+m1; var dt1 = d1.getDate(); if(dt1<10) dt1 = "0"+dt1; var d2 = y1+"-"+m1+"-"+dt1; document.getElementById('d1').value=d2; </script> 

यहां जावास्क्रिप्ट के साथ ऐसा करने का एक आसान तरीका है

  var date = new Date(); var datestring = ('0000' + date.getFullYear()).slice(-4) + '-' + ('00' + (date.getMonth() + 1)).slice(-2) + '-' + ('00' + date.getDate()).slice(-2) + 'T'+ ('00' + date.getHours()).slice(-2) + ':'+ ('00' + date.getMinutes()).slice(-2) +'Z'; document.getElementById('MyDateTimeInputElement').value = datestring; 

यदि आप रूबी का उपयोग कर रहे हैं तो आप इसका उपयोग डिफ़ॉल्ट मूल्य को आज की तारीख और समय पर सेट करने के लिए कर सकते हैं:

 <input type="datetime-local" name="time" value="<%= Time.now.strftime('%Y-%m-%dT%H:%M') %>" /> 

नोडजेएस (एसवीआईजी टेम्पलेट्स के साथ एक्सप्रेस) के लिए:

 <input type="date" id="aDate" name="aDate" class="form-control" value="{{ Date.now() | date("Ymd") }}" /> 

और एएसपी वीबीस्क्रिप्ट का इस्तेमाल करने वालों के लिए

 <% 'Generates date in yyyy-mm-dd format Function GetFormattedDate(setDate) strDate = CDate(setDate) strDay = DatePart("d", strDate) strMonth = DatePart("m", strDate) strYear = DatePart("yyyy", strDate) If strDay < 10 Then strDay = "0" & strDay End If If strMonth < 10 Then strMonth = "0" & strMonth End If GetFormattedDate = strYear & "-" & strMonth & "-" & strDay End Function %> 

और फिर शरीर में, आपका तत्व कुछ इस तरह दिखना चाहिए

 <input name="today" type="date" value="<%= GetFormattedDate(now) %>" /> 

चीयर्स!