কীভাবে আজ ইনপুট টাইপের তারিখের ডিফল্ট মান সেট করবেন?


403

এইচটিএমএল 5 ইনপুট ধরণগুলি দুর্দান্ত, অপেরার নতুন অন্তর্নির্মিত তারিখ চয়নকারী একটি বাতাস এবং ক্রোম একটি স্পিন-হুইল বাস্তবায়ন সহ কমপক্ষে নতুন ইনপুট প্রকারকে সমর্থন করেছে।

তবে আজকের তারিখে তারিখের ক্ষেত্রের ডিফল্ট মান সেট করার কোনও উপায় আছে কি? অপেরা সহ, আমি তারিখ বাছাইকারী থেকে 'টুডে' বেছে নিতে পারি এবং ক্রোমের যে কোনও পদক্ষেপ বোতামে ক্লিক করার সাথে সাথেই এটি আজকের তারিখ থেকে বৃদ্ধি / হ্রাস পাবে।

আমি এই ক্ষুদ্র সমস্যার সমাধানের জন্য কোড দিতে লজ্জা পাচ্ছি না তবে এটি আমার কাছে নির্বোধ বলে মনে হয় যে উভয় ব্রাউজারই বর্তমান তারিখ সম্পর্কে পুরোপুরি সচেতন তবে স্বয়ংক্রিয়ভাবে এটি এটিকে পপ করবে না (অন্তত স্থানধারক হিসাবে)।





4
var তারিখ = নতুন তারিখ (); // তৈরি তারিখ অবজেক্ট var min_date = তারিখ.toISOString ()। স্লাইস (0,10); //// বর্তমান তারিখ নির্দিষ্ট অংশ "2018-02-02" পান
Günay Gültekin

<ইনপুট টাইপ = "তারিখ" মান = "YYYY-MM-DD" />
বরিস ডেট্রি

উত্তর:


288

যে কোনও এইচটিএমএল ইনপুট ক্ষেত্রের মতো, ব্রাউজারটি খালি ছেড়ে দিবে যদি না valueবৈশিষ্ট্যের সাথে কোনও ডিফল্ট মান নির্দিষ্ট না করা হয়।

দুর্ভাগ্যক্রমে এইচটিএমএল 'আজ' নির্দিষ্ট করে দেওয়ার জন্য কোনও উপায় সরবরাহ করে না value(যেটি আমি দেখতে পাচ্ছি), কেবল একটি আরএফসি 3339 বৈধ তারিখ 2011-09-29

TL; DRYYYY-MM-DD তারিখ বিন্যাস ব্যবহার করুন বা এটি প্রদর্শিত হবে না


50
নেট ব্যবহারকারীদের জন্য: ডেটটাইম.টোডে.টোস্ট্রিং ("yyyy-MM-dd")
ডিভিডিএমএন

3
নোট করুন যে মাস এবং দিনের সামনে '0' প্রয়োজনীয়: "2011-09-29" কাজ করে, "2011-9-29" দেয় না।
নিকো

2
রুবি: (এছাড়াও)DateTime.now.strftime("%Y-%m-%d")
অ্যাডাম গ্রান্ট

43
@ মার্টিন বার্কার date('Y-m-d')এর আগে শূন্যের প্রয়োজন হবে না ?
এসজিআর

15
জাভাস্ক্রিপ্টের জন্য: myDate.toLocaleDateString('en-CA')কৌতুকটি করেন
ইউলিস বিএন

218

জাভাস্ক্রিপ্ট তারিখ অবজেক্টটি ম্যানুয়ালি এটি এড়াতে প্রয়োজনীয় বিন্যাসটির জন্য যথেষ্ট বিল্ট-ইন সমর্থন সরবরাহ করে:

সঠিক সময় অঞ্চল সমর্থন জন্য এটি যুক্ত করুন:

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();

1
আপনি মোবাইল সমর্থন করছেন কিনা তা দেখুন। অ্যান্ড্রয়েড 4.0.০.৩ এ (কমপক্ষে) আমার এমন সমস্যা ছিল যেখানে পপআপ তারিখ নিয়ন্ত্রণের মাধ্যমে নির্বাচিত নতুন তারিখটি পরিবর্তনের পরিবর্তে আজকের তারিখে যুক্ত করা হয়েছে। যেমন আপনি 2013-03-25 এর চেয়ে 2013-03-252013-03-27 দিয়ে শেষ করতে পারেন এবং ব্যবহারকারীর পক্ষে এটি পরিবর্তন করার কোনও উপায় নেই।
বেন ক্লেটন

1
@ ওয়েব_ডিজাইনার ফেয়ার যথেষ্ট। local.setMinutes(this.getMinutes() - this.getTimezoneOffset());তারপরে আপনি প্রথমে সামঞ্জস্য করতে চাইবেন (যেভাবে উত্তরটি শেষ পর্যন্ত আসে)।
ব্রায়ানারি

1
এটি কেবল মান সম্পত্তি সেট করে , এটি বৈশিষ্ট্য সেট করে না তাই ফর্মটি পুনরায় সেট করা থাকলে, এটি কোনও মানকেই ডিফল্ট হয়। এছাড়াও, এটি ব্যবহার করার জন্য অনেক পরিস্কার হবে toISOString , যা কি toJSON যাহাই হউক না কেন কল।
রবজি

1
@ অ্যাপ্রেটর আসলে এটি অন্যভাবে, যেহেতু কেবলমাত্র ব্রাউজারগুলি যা তারিখের ইনপুট সমর্থন করে valueAsDate(এটি আই, ফায়ারফক্স, সম্ভবত সাফারি, মূলত ক্রোম, অপেরা, এজ এবং কিছু মোবাইল ব্রাউজার বাদ দেয়)। valueআমার সমাধানটি যে সমস্ত সম্পত্তি ব্যবহার করে তা সবকিছু সমর্থন করে , এমনকি যখন তারিখের ইনপুটগুলি অসমর্থিত ব্রাউজারগুলিতে পাঠ্য ইনপুটগুলিতে ফিরে আসে, অন্য সমাধানটি ত্রুটি বা ব্যর্থ হবে।
ব্রায়ানারি

2
এই উত্তরটি আমার জন্য কাজ একটি ব্যবহার input[type=datetime-local]করুন এবং এটিকে পরিবর্তন করা slice(0,19)আছে HTH
jcruz

188

এটি আমার পক্ষে কাজ করে:

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

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


1
এটি কি সমস্ত ব্রাউজারে কাজ করছে? এবং মোবাইল সংস্করণ পাশাপাশি? পরীক্ষিত?
উসমান ইউনাস

2
@ উসমানি এটি এইচটিএমএল 5 স্পেসের অংশ, সুতরাং যে কোনও কিছু HTML5 ইনপুট প্রকারকে সমর্থন করে valueAsDateএইচটিএমএল.স্পেক.কিট.জি.ইউইউজি.আর.
সফটওয়্যারস

@harbichidian তারিখ ইনপুট জন্য প্রস্তাব কিছু সময়ের মধ্যে মূল্য ASDate জন্য প্রস্তাব পূর্বাভাস। আপনার কি সেই সম্পত্তিটির জন্য ব্রাউজার সমর্থনের কোনও লিঙ্ক আছে?
ব্রায়ানারি

3
তারিখটি ইউটিসি সময়ে রূপান্তরিত হবে। আপনি -0600 মধ্যে 2018-03-27 উপর সন্ধ্যা 6 টা এবং আপনি সেট করেন তাহলে valueAsDateথেকে new Date()ক্ষেত্রগুলি মান 2018-03-28 সেট করা হবে। Austinfrance.wordpress.com/2012/07/09/…
অপূজো

1
@ অপাজো যেমন বলেছে, আপনি যদি ইউটিসি সময় না চান তবে এটি ভুল তারিখ নির্ধারণ করে।
ADJenks

81

নিম্নলিখিত কোডটি ভালভাবে কাজ করে:

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

নোট করুন যে এটি পিএইচপি উপর নির্ভর করে।


64
আপনার উত্তর সম্পূর্ণরূপে পিএইচপি উপর নির্ভর করে।
ইয়েকো

1
যদি আপনার যোগাযোগের ফর্মটি কোনও পিএইচপি পৃষ্ঠায় থাকে (উদাহরণস্বরূপ, কোনও ওয়ার্ডপ্রেস পৃষ্ঠা বা শর্টকোডে), এটি পুরোপুরি কার্যকর হয়। অনেক ধন্যবাদ ইশাম!
ত্রিস্তানজব্যাকন

5
আপনি পরিবর্তন করে অতিরেক কমাতে পারে <?php echo date('Y-m-d', strtotime(date('Y/m/d'))); ?>থেকে<?php echo date('Y-m-d'); ?>
মারে স্মিথ

7
এটি HTML ডকুমেন্টের তৈরি তারিখ (সার্ভারে, সার্ভারের সময় অঞ্চলে) অনুযায়ী তারিখটি সেট করে sets ক্ষেত্রটি বাস্তবে পূরণ করার সাথে এটি বর্তমান তারিখের সাথে মেলে না। ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট আপনার ব্যবহারকারীর পক্ষের উপর নির্ভর করে এমন কিছু করার প্রয়োজন হলে আরও ভাল।
Jukka K. Korpela

1
আপনি শর্ট ট্যাগ <? = তারিখ ('Ym-d') ব্যবহার করতে পারেন; ?>। একটি "প্রতিধ্বনি" কম
সশোক_বিজি

36

আপনি এখানে যেমন জাভাস্ক্রিপ্টের মাধ্যমে ডিফল্ট মান পূরণ করতে পারেন: 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);
});

আমি সম্ভবত মাস এবং তারিখটি একক অঙ্ক কিনা এবং অতিরিক্ত শূন্যের সাথে এগুলি উপসর্গ করেছি কিনা তা দেখার জন্য আমি সম্ভবত কিছুটা অতিরিক্ত সময় দিতাম ... তবে এটি আপনাকে ধারণা দেয়।

সম্পাদনা: অতিরিক্ত শূন্যের জন্য চেক যুক্ত করা হয়েছে


অপেরাতে (অপেরা 12 / উইন্ডোজে পরীক্ষিত) আপনি যদি নেতৃস্থানীয় শূন্যগুলি মাস এবং দিন না রাখেন তবে এটি কাজ করে না।
রেনাতো

31

আপনি যদি পিএইচপি ব্যবহার করে থাকেন তবে স্ট্যান্ডার্ড ওয়াইএমডি ফর্ম্যাটটি অনুসরণ করুন

<input type="date" value="<?php echo date("Y-m-d"); ?>">

2
আপনার উল্লেখ করা উচিত যে এই উত্তরটি যদি আপনি পিএইচপি ব্যবহার করেন তবে কাজ করে, সবার ক্ষেত্রে এটি হয় না।
মোতাশেম এমকে

24

এইচটিএমএল

<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;

ডেমো


22

এইচটিএমএল 5 তে, আজকের তারিখের জন্য তারিখের ক্ষেত্রের ডিফল্ট মান সেট করার কোনও উপায় নেই? অন্যান্য উত্তরে যেমন দেখানো হয়েছে, জাভাস্ক্রিপ্ট ব্যবহার করে মানটি সেট করা যেতে পারে এবং পৃষ্ঠাটি লোড হওয়ার সাথে সাথে আপনি যদি বর্তমানের তারিখের তারিখ অনুসারে ডিফল্ট সেট করতে চান তবে এটি সাধারণত সেরা পন্থা।

এইচটিএমএল 5 উপাদানগুলির valueAsDateজন্য সম্পত্তিটি সংজ্ঞায়িত করে input type=dateএবং এটি ব্যবহার করে আপনি তৈরি করা কোনও বস্তু থেকে সরাসরি প্রাথমিক মান সেট করতে পারেন যেমন দ্বারা new Date()। তবে, উদাহরণস্বরূপ IE 10 সেই সম্পত্তিটি জানেন না। (এটিতে প্রকৃত সমর্থনও নেই input type=date, তবে এটি একটি ভিন্ন বিষয়))

সুতরাং অনুশীলনে আপনার valueসম্পত্তি সেট করা দরকার এবং এটি অবশ্যই আইএসও 8601 অনুসারে স্বরলিপিতে থাকতে হবে। আজকাল এটি বরং সহজেই করা যায়, যেহেতু আমরা বর্তমানের ব্যবহৃত ব্রাউজারগুলি toISOStringপদ্ধতিটি সমর্থন করার আশা করতে পারি :

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

6
বা আপনি যদি এটি = new Date().toISOString().split('T')[0];
ওয়াই 10 কে

1
টোআইএসএসটিং একটি ইউটিসি তারিখ এবং সময় দেয়, তাই ব্যবহারকারীর টাইমজোনটির জন্য সঠিক তারিখটি না দেখাতে পারে। উদাহরণস্বরূপ যদি ব্যবহারকারী ইউটিসি +৮০০ হয় তবে মধ্যরাত থেকে 08:00 অবধি তারা গতকালের তারিখটি পাবেন।
রবিজি

18

আপনি যদি ব্রাউজারে তারিখ এবং সময় সম্পর্কিত কোনও কাজ করে থাকেন তবে আপনি মোমেন্ট.জেএস ব্যবহার করতে চান :

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>

আপনার যদি ইতিমধ্যে মুহূর্ত () উপলব্ধ থাকে বা আপনার ওয়েব অ্যাপ্লিকেশনটিতে আরও তারিখের কাজ করার পরিকল্পনা করা থাকে তবে এই সমাধানটি কোনও বুদ্ধিমান। মুহুর্ত এতগুলি বিষয় সমাধান করে।
সিক্রেটওপ

10

2 ইস্যুতে এই সমস্যাটি সমাধান করতে moment.js ব্যবহার করুন, এইচটিএমএল 5 তারিখের ইনপুট টাইপটি কেবল "YYYY-MM-DD" এই ফর্ম্যাটটি গ্রহণ করে। আমি আমার সমস্যাটি এইভাবে সমাধান করি।

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

এটি এই সমস্যাটি সমাধান করার সহজ উপায়।


8

জাভাস্ক্রিপ্ট

document.getElementById('date-field').value = new Date().toISOString().slice(0, 10);

jQuery

$('#date-field').val(new Date().toISOString().slice(0, 10));

অন্য একটি বিকল্প

আপনি যদি নিজের ইচ্ছানুযায়ী তারিখ, মাস এবং বছরটিকে সামঞ্জস্য বা সাব করতে চান custom মাসের জন্য ফর্ম 0 শুরু হয়, এজন্য মাসের সাথে 1 যোগ করতে হবে।

function today() {
        let d = new Date();
        let currDate = d.getDate();
        let currMonth = d.getMonth()+1;
        let currYear = d.getFullYear();
        return currYear + "-" + ((currMonth<10) ? '0'+currMonth : currMonth )+ "-" + ((currDate<10) ? '0'+currDate : currDate );
    }

আজকের ফাংশনটি অ্যাপে করুন

document.getElementById('date-field').value = today();

$('#date-field').val(today());

7

খুব সাধারণ, কেবল পিএইচপি, এএসপি, জাভা বা এমনকি আপনি জাভাস্ক্রিপ্ট ব্যবহার করতে পারেন যেমন সার্ভার সাইডের ভাষা ব্যবহার করুন।

সমাধান এখানে

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

7
<input id="datePicker" type="date" />

$(document).ready( function() {
    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);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="datePicker" type="date" />


5

আপনার যদি ইনপুট ডেটটাইম পূরণ করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন:

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

5

নোডজেএসের জন্য (এসডাব্লুআইজি টেমপ্লেট সহ এক্সপ্রেস):

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

5

সর্বাধিক সহজ সমাধানগুলি এটিকে উপেক্ষা করে দেখে মনে হচ্ছে যে ইউটিসি সময় ব্যবহার করা হবে, এতে উচ্চ আপ-ভোটযুক্তগুলিও রয়েছে। নীচে কয়েকটি বিদ্যমান উত্তরের একটি প্রবাহিত, ES6, নন-জিকুয়েরি সংস্করণ রয়েছে:

const today = (function() {
    const now = new Date();
    const month = (now.getMonth() + 1).toString().padStart(2, '0');
    const day = now.getDate().toString().padStart(2, '0');
    return `${now.getFullYear()}-${month}-${day}`;
})();
console.log(today); // as of posting this answer: 2019-01-24

কোনও ইনপুট উপাদানটির কোন সম্পত্তি এটি নির্ধারণ করা উচিত তা আপনার উচিত। valueবা valueAsDate? ভাল লাগছে যদিও।
এডিজেঙ্কস

4

এটি আমার কোডটিতে আমি যা করেছি, আমি তা পরীক্ষা করে দেখেছি এবং এটি দুর্দান্ত কাজ করেছে, ইনপুট টাইপ = "তারিখ" স্বয়ংক্রিয়ভাবে কারডেট সেট করতে সমর্থন করে না, তাই আমি এই সীমাবদ্ধতাটি কাটিয়ে ওঠার জন্য পিএইচপি কোডটি এই জাতীয় একটি সহজ কোড ব্যবহার করছিলাম ।

<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('Y-m-d') . "' required/>";
            ?>
        </form>
    </body>
</html>

আশা করি এটা সাহায্য করবে!


1
হাই এবং এসও তে আপনাকে স্বাগতম, দয়া করে আপনার কোড সমর্থন করার জন্য আরও তথ্য যুক্ত করুন এবং নিশ্চিত হন যে প্রশ্নটি জিজ্ঞাসা করা ব্যক্তি পিএইচপি ভিত্তিক সমাধান চাইছেন।
শিব

4

উভয় শীর্ষ উত্তর ভুল।

একটি সংক্ষিপ্ত ওয়ান-লাইনার যা খাঁটি জাভাস্ক্রিপ্ট ব্যবহার করে, স্থানীয় সময় অঞ্চলের জন্য অ্যাকাউন্ট করে এবং সংজ্ঞায়িত করার জন্য কোনও অতিরিক্ত ফাংশন প্রয়োজন না:

const element = document.getElementById('date-input');
element.valueAsNumber = Date.now()-(new Date()).getTimezoneOffset()*60000;
<input id='date-input' type='date'>

এটি মিলসেকেন্ডে বর্তমান যুগের সময়কাল (পর্বের পর থেকে) পায় এবং মিলি সেকেন্ডে টাইমজোন অফসেট প্রয়োগ করে (মিনিটস * 60 মিনিট প্রতি মিলি সেকেন্ডে)।

আপনি ব্যবহার করে তারিখটি সেট element.valueAsDateকরতে পারেন তবে Date()কনস্ট্রাক্টরের কাছে আপনার কাছে অতিরিক্ত কল রয়েছে ।


4

প্রতিটি ব্যবহারকারীর স্থানীয় সময় ফর্ম্যাট আলাদা হওয়ার কারণে প্রতিটি ব্রাউজার আলাদা আচরণ করে বলে উল্লেখ না করে এটি আপনার সত্যই সার্ভার-সাইড করতে হবে।

এইচটিএমএল তারিখের ইনপুটগুলির মানটি এই ফর্ম্যাটে হওয়া উচিত: yyyy-mm-dd অন্যথায় এটি কোনও মান দেখায় না।

এএসপি ক্লাসিক, বা ভিবিএসক্রিপ্ট:

current_year = DatePart("yyyy",date) 
current_month = DatePart("m",date) 
current_day = DatePart("d",date) 

IF current_month < 10 THEN
current_month = "0"&current_month
END IF
IF current_day < 10 THEN
current_day = "0"&current_day
END IF

get_date = current_year&"-"&current_month&"-"&current_day
Response.Write get_date

আজকের তারিখের ফলাফল: 2019-02-08

তারপরে আপনার এইচটিএমএলে: <input type="date" value="<% =get_date %>"

পিএইচপি

শুধু এটি ব্যবহার করুন: <input type="date" value="<?= date("Y-m-d"); ?>">


4

নিম্নলিখিত কোড প্রয়োগ করে, ব্যবহার করে এটি খুব সহজ PHP

<input type="date" value="<?= date('Y-m-d', time()); ?>" />

তারিখ ফাংশন তারিখ গ্রহণ করে বর্তমান তারিখ ফিরে আসবে time()


2

জাভাস্ক্রিপ্ট দ্বারা:

var today = new Date();

document.getElementById("theDate").value = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2);


1

আপনি যদি রুবি ব্যবহার করেন আপনি আজকের তারিখ এবং সময়কে ডিফল্ট মান সেট করতে এটি ব্যবহার করতে পারেন:

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

1

একটি সহজ সমাধান:

<input class="set-today" type="date">
<script type="text/javascript">
    window.onload= function() {
        document.querySelector('.set-today').value=(new Date()).toISOString().substr(0,10));
    }
</script>

1
@ জর্জজেম্পটি ইউটিসিতে বর্তমান সময়ের বর্তমান দিনের চেয়ে আলাদা যদি এটি হয় না। এটি আপনার স্থানীয় সময় অঞ্চলে নয়, ইউটিসিতে বর্তমান তারিখটি ফিরিয়ে দেবে।
ADJenks

@ অ্যাডজেঙ্কস হেহ আমি দেখতে পাচ্ছি যে মধ্যরাত পর্যন্ত 10 মিনিট আমার পরীক্ষার জন্য এটি একটি উপযুক্ত সময় ছিল
ডিজিওন

@adjenks পরিশেষে আমি আধা ডজন লাইন যে ইউটিসি ফাঁদ এড়াতে এবং বিদ্যমান অনুরূপ jQuery এর / অ ES6 উত্তর একটি দম্পতি উপর সামান্য উন্নতি আউট বেত্রাঘাত: stackoverflow.com/a/54341296/34806
Dexygen

উত্তরের লাইনের শেষে একটি অতিরিক্ত ")" এবং "নতুন তারিখ ()" এর আশেপাশের বহিরাগত প্যারেন্ট রয়েছে। হওয়া উচিত: document.querySelector('.set-today').value=new Date().toISOString().substr(0,10);
ર્বি এল। ওয়ালেস

0

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

তবে, যদি এটি সিএমএসের প্রশাসনিক কনসোলের জন্য হয় এবং আপনি জানেন যে ব্যবহারকারীর সর্বদা জেএস থাকে বা আপনার সাইটে বিশ্বাসী থাকে, তবে আপনি নিরাপদে জেএসব্রুনো অনুযায়ী ডিফল্ট মান পূরণ করতে জেএস ব্যবহার করতে পারেন।


0

আমার একই সমস্যা ছিল এবং আমি এটিকে সাধারণ জেএস দিয়ে স্থির করেছিলাম। ইনপুট:

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

জেএস

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

গুরুত্বপূর্ণ: জেএস স্ক্রিপ্টটি সর্বশেষ কোড লাইনে বা ইনপুট দেওয়ার পরে হওয়া উচিত, কারণ আপনি যদি এই কোডটি আগে রাখেন তবে স্ক্রিপ্টটি আপনার ইনপুটটি খুঁজে পাবে না।


2
আপনি যদি যাইহোক পিএইচপি ব্যবহার করেন তবে জাভাস্ক্রিপ্ট নিয়ে বিরক্ত কেন ?
ব্লেজমোনজার

0

আজকের তারিখটি ইনপুট ক্ষেত্রে সন্নিবেশ করানোর জন্য এইচটিএমএল-তে নিজেই কোনও ডিফল্ট পদ্ধতি নেই। তবে অন্য যে কোনও ইনপুট ক্ষেত্রের মতো এটি একটি মান গ্রহণ করবে।

আপনি আজকের তারিখ আনতে পিএইচপি ব্যবহার করতে পারেন এবং ফর্ম উপাদানটির মান ক্ষেত্রে এটি ইনপুট করতে পারেন।

<?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
    // 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>

আমি বুঝতে পেরেছি যে এই প্রশ্নটি কিছুক্ষণ আগে জিজ্ঞাসা করা হয়েছিল (২ বছর আগে) তবে ইন্টারনেটে একটি নির্দিষ্ট উত্তর খুঁজে পেতে আমার এখনও কিছুটা সময় লেগেছে, সুতরাং যে কেউ যখনই উত্তরটি খুঁজছেন তখনই সে তার সেবা করবে এবং যখনই এটি আশা করবে সবাইকে অনেক সাহায্য করে :)

অন্য সম্পাদনা:

প্রায় ভুলে গেছি, অতীতে আমার পক্ষে কিছুটা রাজকীয় বেদনা ছিল যখনই পিএইচপি-তে কোনও স্ক্রিপ্ট তৈরি করে যে তারিখ () ফাংশনটি ব্যবহার করে তা ডিফল্ট টাইমজোন সেট করতে সর্বদা ভুলে যায়।

বাক্য গঠনটি হ'ল date_default_timezone_set(...);। ডকুমেন্টেশনগুলি এখানে পিএইচপি নেট.নে পাওয়া যাবে এবং ফাংশনটি সন্নিবেশ করানোর জন্য সমর্থিত সময় অঞ্চলগুলির তালিকা এখানে পাওয়া যাবে । আমি অস্ট্রেলিয়ায় থাকাকালীন এটি সর্বদা বিরক্তিকর ছিল, আমি যদি এটি যথাযথভাবে সেট না করি তবে 10 ঘন্টা পিছনে ফেলে দেওয়া হয় যেখানে এটি ইউটিসি +0000-তে ডিফল্ট হয় যেখানে আমার ইউটিসি + 1000 প্রয়োজন তাই কেবল সতর্ক থাকুন :)


0

ধন্যবাদ পিটার, এখন আমি আমার কোড পরিবর্তন করছি।

<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>

3
দয়া করে, দয়া করে, আসল অ্যাপ্লিকেশনগুলিতে ডকুমেন্ট.লিখন ব্যবহার করবেন না - এটি ব্যবহার করে অনেক সমস্যা রয়েছে।
পিটার হার্ট

পিটার, আপনি কি সমস্যা ব্যাখ্যা করতে পারেন। তুমি পেয়েছ?
নিখিল sHETH

পিটার, আপনি কীভাবে ইনপুট টাইপ = তারিখের ডিফল্ট মান হিসাবে বর্তমান তারিখ পান তা উল্লেখ করুন
নিখিল শনিবার

1
এটি কাজ করে না এমন নয়, তবে সাধারণত ডকুমেন্ট.রাইট ব্যবহার করা খারাপ অভ্যাস। এটির কারণগুলির একটি অগণিত কারণ রয়েছে, এখানে কয়েকটি উদাহরণ রয়েছে: স্ট্যাকওভারফ্লো / প্রশ্নগুলি / ৮০২85৫৪/২ যদি আমার ক্লায়েন্টের জাভাস্ক্রিপ্টে একেবারে করতে হত তবে আমি উপাদান এবং নথিতে একটি আইডি ব্যবহার করব। এই পৃষ্ঠার অন্যান্য উত্তরগুলির মতো একইভাবে উপাদানটি পেতে এবং এটি পরিবর্তন করতে getElementById পান।
পিটার হার্ট

0

এবং যারা এএসপি ভিবিএস স্ক্রিপ্ট ব্যবহার করছেন তাদের জন্য

<%
'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) %>" />

চিয়ার্স!


0

এমনকি এত দিন পরেও, এটি কারও সাহায্য করতে পারে। এটি সাধারণ জেএস সমাধান।

জাতীয়

  let date = new Date();
  let today = date.toISOString().substr(0, 10);
  //console.log("Today: ", today);//test
  document.getElementById("form-container").innerHTML =
    '<input type="date" name="myDate" value="' + today + '" >';//inject field

এইচটিএমএল

 <form id="form-container"></form>

তারিখের ফর্ম্যাট রূপান্তর করতে কোনও অতিরিক্ত লাইব্রেরি ছাড়াই কৌনিকগুলিতে অনুরূপ সমাধান কাজ করে। কৌণিকের জন্য (সাধারণ উপাদান কোডের কারণে কোডটি ছোট করা হয়):

//so in myComponent.ts 
//Import.... @Component...etc...
date: Date = new Date();
today: String; //<- note String
//more const ...
export class MyComponent implements OnInit {
   //constructor, etc.... 
   ngOnInit() {
      this.today = this.date.toISOString().substr(0, 10);
   }
}
//so in component.html 
<input type="date" [(ngModel)]="today"  />

এটি একটি ডিফল্ট মান ব্যবহার করার প্রয়োজনের জন্য উপায় খুব জটিল।
সংস্কার করা হয়েছে

আপনি দুটি স্বতন্ত্র উদাহরণের মধ্যে কোনটি উল্লেখ করার চেষ্টা করছেন? উভয় উদাহরণে এর 4 টি লাইন কোড .... প্রথম উদাহরণটি খাঁটি এইচটিএমএল + জেএস তাই কন্টেইনার তৈরি করুন এবং পেস্ট কোডটি তার 3 টি লাইন অনুলিপি করুন যদি আপনি মন্তব্যগুলি গণনা করেন না। কৌনিক উদাহরণের জন্য একই কারণ আমি মন্তব্যটি রেখেছিলাম। আপনি কী বোঝাতে চেয়েছিলেন তা নিশ্চিত নয় ...
স্টেফা ডিজাইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.