ইনপুট টাইপ তারিখে সেট তারিখ


109
<input id="datePicker" type="date" />​

আমি আজকের তারিখটি ক্রোমে তারিখ পিকার ইনপুট টাইপের তারিখে সেট করব ।

$(document).ready( function() {
    var now = new Date();
    var today = now.getDate()  + '/' + (now.getMonth() + 1) + '/' + now.getFullYear();
    alert(today);
    $('#datePicker').val(today);
});​

কিন্তু এটি কাজ করে না

এই jsFizz এডিট করুন - দয়া করে ক্রোমে চেষ্টা করুন।


4
আপনি যদি আপনার ফিডলটিতে একটি তারিখ বাছাই করে ফলাফলের ফ্রেমটি পরীক্ষা করেন, একটি উপহার $('#datePicker').val();দিচ্ছেন "2012-09-10"এবং এটি তারিখটি নির্ধারণের জন্য আপনি যে বিন্যাসটি ব্যবহার করেন তা নয়

এটি আমার শেষ ক্রোমে কাজ করছে .. আপনি ঠিক কী বোঝাতে চেয়েছেন its not working?
আদিত্যপারাব

চেষ্টা করে দেখুন: { currentText: "Now" }দেখুন ম্যানুয়াল
diEcho

আমার উপর কাজ ... সমস্যা কি?
নেটোরিকা

4
@JigarPandya fr_FR (@ user108, দেখুন stackoverflow.com/a/3496622/180100 )

উত্তর:


166

ফিডাল লিংক: http://jsfiddle.net/7LXPq/93/

এতে দুটি সমস্যা:

  1. এইচটিএমএল 5-তে তারিখের নিয়ন্ত্রণটি এসকিউএল-তে যেমন ব্যবহার করি - বছর - মাস - ফরমেটে গ্রহণ করে
  2. যদি মাসটি 9 হয় তবে এটিকে সহজভাবে 9 নয় 9 হিসাবে সেট করা দরকার। সুতরাং এটি দিনের ক্ষেত্রেও প্রযোজ্য।

ডেমোটির জন্য দয়া করে ফিডাল লিঙ্কটি অনুসরণ করুন:

var now = new Date();

var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);

var today = now.getFullYear()+"-"+(month)+"-"+(day) ;

$('#datePicker').val(today);

4
২০১২-পরবর্তী উত্তর: কোডের এক লাইনে সমর্থিত সমাধানের জন্য আমার উত্তরটি পরীক্ষা করুন।
অলিভ উটিলো

@ অলিভুটিল - নিশ্চিত, তবে আপনার উত্তরটি কিছু সময় ভুল ফলাফল প্রদান করবে।
রবজি

আপনি আমার সময় বাঁচিয়েছেন, অনেক ধন্যবাদ
দীপ সুরানি

134

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

কাজ করা উচিত.


6
এটি আমি এখনও অবধি খুঁজে পেলাম সেরা সমাধান - অ্যান্ড্রয়েড works.০.৩ এ কাজ করে
বেন ক্লেটন

6
স্বীকৃত উত্তরের চেয়ে অবশ্যই পরিষ্কার মনে হচ্ছে ... ধন্যবাদ
Skipjack

4
আমি খুঁজে পেয়েছি যে এটি কোনও কারণে সাফারিতে কাজ করে না :(
জেমস_আলভারেজ

ক্রোম এবং এজ এ পরীক্ষা করা হয়েছে এবং ঠিকঠাক কাজ করেছে found যেমন @ স্কিপজ্যাক বলেছেন, দুর্দান্ত উত্তর!
অরুণ

সঠিক সমাধানের মতো মনে হচ্ছে, তবে সাফারিতে (১৩.১.২) কলটি আপনাকে একটি অবৈধ রাষ্ট্রীয় ব্যতিক্রম করে। নিশ্চিত নই কেন ...?
fbitterlich

23

আপডেট: আমি এটি দিয়ে করছি date.toISOString().substr(0, 10)। গৃহীত উত্তর হিসাবে একই ফলাফল দেয় এবং ভাল সমর্থন আছে।



4
দ্রষ্টব্য: এটি ইউটিসি সময় অঞ্চলে একটি তারিখ দেয়। বিপরীতে শীর্ষ উত্তর স্থানীয় সময় ব্যবহার করে।
কিওয়ার্টি

4
@ অলিভুটিলো — না, তারা হোস্টের জন্য অফসেটের সময়সীমার সময়কাল ধরে না।
রবজি

4
কিওয়ার্টি যেমন বলেছেন, আপনি যদি সময় ব্যতীত কোনও তারিখ ব্যবহার করেন তবে এটি সম্ভাব্যভাবে ভুল উত্তর দেয়। যেমন শনি সেপ্টেম্বর 01 2018 00:00:00 GMT + 0100 "2018-08-31" তে রূপান্তরিত হয়
হাভলক

[ dateত্রুটিযুক্ত হওয়ার জন্য পূর্ববর্তী মন্তব্য মুছে ফেলা হয়েছে] তাই আমি ভাবছি, এই ক্ষেত্রে সময় অঞ্চল নির্ধারণ করা দরকার (বা আগে 0 বলার জন্য বাধ্য করা হয়েছিল toISOString?)
অলিভ উতিলো


12

আমার কাছে এই সমস্যাটি সমাধানের সবচেয়ে সংক্ষিপ্ততম উপায় হচ্ছে moment.js ব্যবহার করা এবং এই সমস্যাটি মাত্র 2 লাইনে সমাধান করা।

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

4
হ্যাঁ ঠিক $ ('# তারিখপিকার') এর মতো val ভাল (মুহূর্ত () format ফর্ম্যাট ('YYYY-MM-DD'));
উমায়ের খালিদ

4
মুহুর্তের সাথে অপরিচিত লোকদের জন্য, আপনি যদি মুহুর্তের সাথে একটি স্বেচ্ছাসেবী জাভাস্ক্রিপ্টের তারিখ অবজেক্টটি বিন্যাস করতে চান ():var yourFormattedDate= moment(yourDate).format('YYYY-MM-DD'); $('#datePicker').val(yourFormattedDate);
'12

4

আপনার কোডটি যদি এই ফর্ম্যাটটিতে থাকত তবে এটি কাজ করতে পারে: এটি YYYY-MM-DDতারিখের ফর্ম্যাটগুলির জন্য কম্পিউটারের মান http: // http://en.wikedia.org/wiki/ISO_8601


1

তারিখের ইনপুটগুলি ব্যবহার করার সময় আমি সাধারণত এই দুটি সহায়ক ফাংশন তৈরি করি:

// date is expected to be a date object (e.g., new Date())
const dateToInput = date =>
  `${date.getFullYear()
  }-${('0' + (date.getMonth() + 1)).slice(-2)
  }-${('0' + date.getDate()).slice(-2)
  }`;

// str is expected in yyyy-mm-dd format (e.g., "2017-03-14")
const inputToDate = str => new Date(str.split('-'));

তারপরে আপনি তারিখ ইনপুট মানটি সেট করতে পারেন:

$('#datePicker').val(dateToInput(new Date()));

এবং এর মতো নির্বাচিত মানটি পুনরুদ্ধার করুন

const dateVal = inputToDate($('#datePicker').val())

1

আপনি কেবল type="date"ফর্ম্যাট হিসাবে ইনপুট তারিখ ব্যবহার করতে পারেনYYYY-MM-DD

আমি সহায়ক হিসাবে বাস্তবায়ন করেছি formatDate NODE.js এক্সপ্রেস-হ্যান্ডেলবারগুলির সহায়ককে , উদ্বিগ্ন হওয়ার দরকার নেই ... কেবল প্রথম লাইনে বর্ণিত বিন্যাসটি ব্যবহার করুন।

যেমন:

< input type="date" id="date" name="date" class="form-control" value="{{formatDate invoice.date 'YYYY-MM-DD'}}" />

0

ডেটটাইমপিকারের সর্বদা YYYY-MM-DD ইনপুট ফর্ম্যাট প্রয়োজন, এটি আপনার মডেলের প্রদর্শন ফর্ম্যাট বা আপনার স্থানীয় সিস্টেমের তারিখের সময় সম্পর্কে চিন্তা করে না। তবে ডেটটাইম পিকারের আউটপুট ফর্ম্যাটটি হ'ল আপনার পছন্দসই (আপনার স্থানীয় সিস্টেম)। আমার পোস্টে সহজ উদাহরণ আছে ।


0

আমার কাছে লোকেলের তারিখ পাওয়ার সবচেয়ে স্বল্পতম উপায় এবং ইনপুটটির সঠিক বিন্যাসে type="date"এটি:

var d = new Date(); 
var today = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);

অথবা এটা :

var d = new Date().toLocaleDateString().split('/');
var today = d[2]+"-"+("0"+d[0]).slice(-2)+"-"+("0"+d[1]).slice(-2);

তারপরে কেবল তারিখের ইনপুট মানটি সেট করুন:

$('#datePicker').val(today);

0
    1 console.log(new Date())
    2. document.getElementById("date").valueAsDate = new Date();

1 ম লগ কনসোলে সঠিক দেখাচ্ছে = বুধ অক্টোবর 072020 00:40:54 GMT + 0530 (ভারত স্ট্যান্ডার্ড সময়)

২ য় 06-10-2020 যা ভুল এবং আজ তারিখ 07 এবং এখানে 06 দেখাচ্ছে।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.