জাভাস্ক্রিপ্টে ডেটটাইম স্ট্রিং পার্স করুন


94

কেউ কীভাবে প্রয়োজনীয় ফর্ম্যাটে তারিখের স্ট্রিংকে পার্স করতে জানেন dd.mm.yyyy?


আপনি কি সেই ফর্ম্যাটে কোনও স্ট্রিং থেকে নতুন তারিখের অবজেক্ট তৈরি করতে চান?
কিয়েরান হল

উত্তর:


139

মিমি, তবে কীভাবে চেক করবেন স্ট্রডেটের "30.30.2000" এর মতো একটি অবৈধ মান আছে?
ডাঃ না

4
@ ব্যবহারকারী674887, পার্স করার পরে আপনি মানগুলি তুলনা করতে পারেন। যেমন ডেট পার্টস [1] -1 == তারিখ.সেটমোনথ ()
জোনাথন

আপনার উভয় TIME তারিখ যদি এর মতো থাকে: "2014-05-20T16: 43: 56.71-06: 00" var partesFecha = solicitud.CreatedDate.split ("T") [0] .স্প্লিট ("-"); var createdDate = নতুন তারিখ (partesFecha [0], (partesFecha [1] - 1), partesFecha [2]); টি এর আগে প্রথমে উত্তোলনের তারিখ এবং পরে বছর, মাস এবং দিন বিভক্ত হয়।
রোল্যান্ডোসিসি

জাভাস্ক্রিপ্টে প্রত্যাশিত তারিখের ফর্ম্যাট পেতে আপনাকে কোনও বিভাজন ব্যবহার করতে হবে তা বিশ্বাস করতে পারে না
ক্লাউডিয়ু ক্র্যাঙ্গা

তারিখ অবজেক্টের মোজিলা রেফারেন্স নিবন্ধটি নিজেই বলেছে তা অন্য কারও কাছে কি অদ্ভুত মনে হয় "Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies."?
ন্যানো উইজার্ড

51

আপনি যদি jQuery UI ব্যবহার করে থাকেন তবে আপনি যে কোনও তারিখের সাথে ফর্ম্যাট করতে পারেন:

<html>
    <body>
        Your date formated: <span id="date1"></span><br/>
    </body>
</html>

 

var myDate = '30.11.2011';
var parsedDate = $.datepicker.parseDate('dd.mm.yy', myDate);

$('#date1').text($.datepicker.formatDate('M d, yy', parsedDate));

http://jsfiddle.net/mescalito2345/ND2Qg/14/


21
+1 আমি পুরোপুরি সুযোগের বাইরে থাকা হিসাবে দেখছি না, জাভাস্ক্রিপ্ট এবং জ্যাকুয়েরি একটি সাধারণ সমন্বয়।
djna

কোনও উত্তর এমন কোনও লাইব্রেরির উপর নির্ভর করবে না যা ওপিতে ট্যাগ করা বা উল্লিখিত নয়। 3 লাইন ফাংশন একই কাজ করতে পারে এমন সময়সীমা লাইব্রেরি হিসাবে jQuery ব্যবহার করা বিশাল ওভারকিল।
রবিজি

9

স্ট্রিংটি বৈধ তারিখ কিনা তা পরীক্ষা করতে আমরা এই কোডটি ব্যবহার করি

var dt = new Date(txtDate.value)
if (isNaN(dt))

প্রদত্ত বিন্যাস বিন্যাস দ্বারা প্রয়োজন মেলে না developer.mozilla.org/en/Core_JavaScript_1.5_Reference/... (এবং তারিখ কন্সট্রাকটর চলা করা হবে না এইভাবে যে)
জোনাথন Fingland

এটি বৈধ তারিখের জন্য মোটেও পরীক্ষা করে না, এটি কেবল পরীক্ষামূলকভাবে পরীক্ষা করে যদি তারিখ নির্মাণকারী ইনপুট থেকে কোনও বৈধ তারিখ তৈরি করতে পারে। দুটি একই জিনিস নয়।
রবজি

6

রেফস: http://momentjs.com/docs/#/parsing/string/

আপনি যদি moment.js ব্যবহার করেন তবে আপনি "স্ট্রিং" + "ফর্ম্যাট" মোড ব্যবহার করতে পারেন

moment(String, String);
moment(String, String, String);
moment(String, String, Boolean);
moment(String, String, String, Boolean);

প্রাক্তন:

moment("12-25-1995", "MM-DD-YYYY");

4
বেশিরভাগ ক্ষেত্রে, মোমেন্টজজেএস একটি ওভারকিল, কারণ খাঁটি জাভাস্ক্রিপ্ট ব্যবহার করতে কেবল কয়েকশো বাইট প্রয়োজন হয়, যখন মোমেন্টজএস 12.4 কেবি গিজিপযুক্ত। বিকাশকারীদের পক্ষে সুবিধাজনক তবে ওয়েবসাইটটি ধীর করে দেয়। মূল্য নেই।
র‌্যাপটার

3

আইই তে আমাকে নিম্নলিখিত কোড ব্যবহার করা হয়েছে। (IE8 সামঞ্জস্যপূর্ণ)

var dString = "2013.2.4";
var myDate = new Date( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"$2/$3/$1") );
alert( "my date:"+ myDate );

2

এএসপি.এনইটি বিকাশকারীদের এই হ্যান্ড বিল্ট ইন (এমএস জেএস অবশ্যই পৃষ্ঠায় অন্তর্ভুক্ত করা উচিত) এর পছন্দ রয়েছে:

var date = Date.parseLocale('20-Mar-2012', 'dd-MMM-yyyy');

http://msdn.microsoft.com/en-us/library/bb397521%28v=vs.100%29.aspx


ওপি উল্লেখ করেনি যে তিনি এএসপি.এনইটি ব্যবহার করেছেন
র‌্যাপ্টর

2

তারিখ অবজেক্ট ব্যবহার করুন:

var time = Date.parse('02.02.1999');
document.writeln(time);

দিন: 917902800000


16
new Date(Date.parse('02.02.1999'))
ডিউক

new Date(Date.parse('02.02.1999'))জাভাস্ক্রিপ্টের জন্য ডিউকের মন্তব্যের জন্য +1
জ্যাক

কমপক্ষে দুটি বর্তমান ব্রাউজারে NaN ফেরত দেয়। দেখুন কেন ডেট.পার্স ভুল ফলাফল দেয়?
রবিজি

@ ডিউক— কিছু ব্রাউজারে অবৈধ তারিখ সহ new Date(Date.parse('02.02.1999'))অভিন্ন ফলাফল তৈরি করবে । পার্সারে অন্তর্নির্মিতটি ব্যবহার করা একটি টাইমস্ট্যাম্পকে পার্স করার পক্ষে যুক্তিযুক্ততমতমতম উপায়। new Date('02.02.1999')
রবিজি

2

এই ফাংশনটি অবৈধ 29.2.2001 তারিখটিকেও পরিচালনা করে।

function parseDate(str) {
    var dateParts = str.split(".");
    if (dateParts.length != 3)
        return null;
    var year = dateParts[2];
    var month = dateParts[1];
    var day = dateParts[0];

    if (isNaN(day) || isNaN(month) || isNaN(year))
        return null;

    var result = new Date(year, (month - 1), day);
    if (result == null)
        return null;
    if (result.getDate() != day)
        return null;
    if (result.getMonth() != (month - 1))
        return null;
    if (result.getFullYear() != year)
        return null;

    return result;
}

0

আপনি এই ধরণের কোড তৈরি করে তারিখ ফর্ম্যাট করতে পারেন। জাভাস্ক্রিপ্টে।

 // for eg.
              var inputdate=document.getElementById("getdate").value);
                 var datecomp= inputdate.split('.');

                Var Date= new Date(datecomp[2], datecomp[1]-1, datecomp[0]); 
                 //new date( Year,Month,Date)

কোনও জাভোরি ট্যাগ নেই বলে জাভাস্ক্রিপ্ট জাভাস্ক্রিপ্ট ব্যবহার করার কথা ছিল
সাগর

সুখী ... মানে ঠিক senario বুঝতে
Bachas

আমরা হব. আমি মনে করি না যে আপনার উদাহরণটি মার্টিন স্টাফসিকের দেওয়া চেয়ে আলাদা। আসলে তার উত্তরটিতে অবৈধ তারিখগুলি পরিচালনা করার জন্য অতিরিক্ত যুক্তি রয়েছে।
সাগর

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