javascript - আমি কিভাবে জাভাস্ক্রিপ্ট বর্তমান তারিখ পেতে পারি?




জাভাস্ক্রিপ্ট বই (20)

আমি কিভাবে জাভাস্ক্রিপ্ট বর্তমান তারিখ পেতে পারি?

https://code.i-harness.com


আপডেট করা হয়েছে! , নিচে নামুন

আপনি যদি শেষ ব্যবহারকারীকে সুন্দর কিছু সহজ চান ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix. Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

আপার আপডেট অনেক বিলম্বের পরে, আমি অবশেষে GitHubbed করেছি এবং আমি নিজের জন্য ব্যবহার করা শেষ সমাধানটির সাথে এটি আপডেট করেছি। এটা এমনকি মিষ্টি করতে কিছু শেষ মিনিট সম্পাদনা ছিল! আপনি যদি পুরোনো জেএসফিল্ডের জন্য খুজছেন তবে দয়া করে এটি দেখুন

এই আপডেট 2 স্বাদে আসে, এখনও অপেক্ষাকৃত ছোট, যদিও আমার উপরে, মূল উত্তর হিসাবে ছোট নয়। আপনি খুব ছোট চান, যে সঙ্গে যান।
এছাড়াও দ্রষ্টব্য: এটি এখনও মুহুর্তের চেয়ে কম ফুটো। Moment.js সুন্দর হলেও, এটি অনেক ধর্মনিরপেক্ষ পদ্ধতি রয়েছে, যার জন্য ভাষা শেখার সময় প্রয়োজন বোধ করা। খনি এখানে PHP:date হিসাবে একই সাধারণ বিন্যাস ব্যবহার করে PHP:date

দ্রুত লিঙ্ক

গন্ধ 1 new Date().format(String) আমার ব্যক্তিগত Fav। আমি নিষিদ্ধ জানি, কিন্তু তারিখ বস্তুর উপর মহান কাজ করে। আপনার তারিখের অবজেক্টের যে কোনও অন্যান্য মোডের বিষয়ে সচেতন থাকুন।

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

গন্ধ 2 dateFormat(Date, String) আরও ঐতিহ্যগত সব ইন এক পদ্ধতি। আগের সব ক্ষমতা আছে, কিন্তু তারিখ প্যারামিটার সঙ্গে পদ্ধতি মাধ্যমে বলা হয়।

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

বোনাস ফ্লেভার (jQuery প্রয়োজন) $.date(Date, String) এটি কেবল একটি সাধারণ format বিকল্পের চেয়ে অনেক বেশি রয়েছে। এটি বেস তারিখ অবজেক্টকে প্রসারিত করে এবং addDays হিসাবে পদ্ধতিগুলি অন্তর্ভুক্ত করে। আরো তথ্যের জন্য, গিট দেখুন দয়া করে।

এই মডেলে, বিন্যাস অক্ষর PHP:date দ্বারা অনুপ্রাণিত হয় PHP:date । একটি সম্পূর্ণ তালিকা জন্য, আমার পড়া দেখুন

এই মডেলে পূর্বনির্ধারিত বিন্যাসগুলির অনেক বেশি তালিকা রয়েছে। একটি প্রিমিড বিন্যাস ব্যবহার করতে, কেবল তার মূল নাম লিখুন। dateFormat(new Date(), 'pretty-a');

  • 'যৌগ'
    • 'CommonLogFormat' == 'ডি / এম / Y: জি: আমি: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWJ'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Ymd h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • 'সাবান' == 'Ymd \\ TH: i: s.u'
    • 'soap2' == 'ymd \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ টিজি: i: s'
    • 'xmlrpccompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Ynj \\ টিজি: আমি: s'
  • 'ধ্রুবক'
    • 'আমেরিকান' == 'এফ জে ওয়াই'
    • 'আমেরিকানসোর্ট' == 'মি / ডি / ই'
    • 'আমেরিকাঘড়িঘড়ি' == 'মি / ডি / ই এইচ: আমি: এসএ'
    • 'ATOM' == 'Ymd \\ TH: i: sP'
    • 'Cookie' == 'l dmy h: i: s টি'
    • 'ইউরোপিয়ান' == 'জে এফ Y'
    • 'EUROPEANSHORT' == 'DMY'
    • 'EUROPEANSHORTWTIME' == 'DmY H: i: s'
    • 'ISO8601' == 'Ymd \\ TH: i: sO'
    • 'আইনগত' == 'জে এফ Y'
    • 'RFC822' == 'ডি ডি এম এইচ এইচ: আই: এস ও'
    • 'RFC850' == 'l dmy H: i: s টি'
    • 'RFC1036' == 'ডি ডি এম এইচ এইচ: আই: এস ও'
    • 'RFC1123' == 'ডি ডি MYH: i: s O'
    • 'RFC2822' == 'ডি ডি MYH: i: s O'
    • 'RFC3339' == 'Ymd \\ TH: i: sP'
    • 'আরএসএস' == 'ডি ডি MYH: আমি: ও ও'
    • 'W3C' == 'Ymd \\ TH: i: sP'
  • 'প্রশংসনীয়'
    • 'সুন্দর-একটি' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'pretty-b' == 'g: iA l js \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / y g: iA'
    • 'সুন্দর-ডি' == 'এন / ডি / ই'
    • 'সুন্দর-ই' == 'এফ জেএস - জি: ia'
    • 'pretty-f' == 'g: iA'

আপনি লক্ষ্য করতে পারেন, আপনি একটি অক্ষর এড়াতে ডবল ব্যবহার করতে পারেন।


আপনি Date.js লাইব্রেরিটি ব্যবহার করতে পারেন যা তারিখ বস্তুর প্রসারিত করে, এইভাবে আপনি .today () পদ্ধতিটি ব্যবহার করতে পারেন।


আপনি moment.js ব্যবহার করতে পারেন: http://momentjs.com/

var m = moment().format("DD/MM/YYYY");

document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>


আপনি এই চেকআউট করতে পারেন

var today = new Date();
today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
document.write(today);

এবং তারিখ () কনস্ট্রাকটর জন্য ডকুমেন্টেশন দেখুন। link



আপনি যদি jQuery ব্যবহার করছেন। এই এক মাছ ধরার নৌকা চেষ্টা করুন:

$.datepicker.formatDate('dd/mm/yy', new Date());

এখানে তারিখ বিন্যাস জন্য কনভেনশন হয়

  • ডি - মাসের দিন (কোন নেতৃস্থানীয় শূন্য)
  • ডিডি - মাসের দিন (দুই অঙ্ক)
  • ও - দিনের বেলা (কোন নেতৃস্থানীয় শূন্যস্থান)
  • বছরের শুভ দিনের (তিন অঙ্ক)
  • ডি - দিন নাম সংক্ষিপ্ত
  • ডিডি - দিন নাম দীর্ঘ
  • মি - বছরের মাস (কোন নেতৃস্থানীয় শূন্য)
  • মিমি - বছরের বেলা (দুই অঙ্ক)
  • এম - মাস নাম সংক্ষিপ্ত
  • এমএম - মাস নাম দীর্ঘ
  • y - বছর (দুই অঙ্ক)
  • yy - বছর (চার অঙ্ক)

এখানে jQuery datepicker জন্য রেফারেন্স


আপনি শুধু সময় তথ্য ছাড়া একটি তারিখ চান, ব্যবহার করুন:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);


আমি এটা কাউকে সাহায্য করবে জানি না, কিন্তু আমি আজ তারিখ বস্তু পেতে এই ব্যবহার করছি।

new Date( 3600000*Math.floor(Date.now()/3600000) )

এই সঙ্গে বড় চুক্তি কি .. এই কাজ করার সবচেয়ে পরিষ্কার উপায়

var currentDate=new Date().toLocaleString().slice(0,10);


এটা চেষ্টা কর:

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

ফলাফল মত হবে

15/2/2012

এটি প্রত্যেক সময় কাজ করে:

    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);
    
    document.write(today);


ক্লিনার, সহজ সংস্করণ:

new Date().toLocaleString();

ফলাফল ব্যবহারকারীর লোকেল অনুযায়ী পরিবর্তিত হয় :

2/27/2017, 9:15:41 এ


যদি আপনি একটি সহজ DD/MM/YYYY ফর্ম্যাট চান তবে আমি এই সহজ সমাধানটি নিয়ে এসেছি, যদিও এটি নিখরচায় শূন্যতাগুলি উপসর্গ করে না।

var d = new Date();
document.write( [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/') );


সংক্ষিপ্ততম উত্তর হল: new Date().toJSON().slice(0,10)


toISOString() শুধুমাত্র স্থানীয় সময় নয়, বর্তমান UTC সময় প্রদান করবে। Yyyy yyyy-MM-dd ফর্ম্যাটে তারিখ পেতে '.toString ()' ফাংশন ব্যবহার করে আমাদের একটি তারিখ তৈরি করতে হবে।

document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('T')[0]);

yyyy-MM-ddTHH:mm:ss মধ্যে তারিখ এবং সময় পেতে yyyy-MM-ddTHH:mm:ss বিন্যাস

document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0]);

yyyy-MM-dd HH:mm:ss তারিখ এবং সময় পেতে yyyy-MM-dd HH:mm:ss বিন্যাস

document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].replace('T',' '));


একটি লাইন জেএস সমাধান:

TL; ড

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

প্রান্ত, ff সর্বশেষ, এবং ক্রোম রিটার্ন todaysDate = "2/7/2017"
IE10 + মধ্যে "কাজ করে" *

2/7/2017 সম্পাদনা করুন

আমি খুঁজে পেয়েছি যে IE10 এবং IE এজ কিছু একটা ভিন্নভাবে কাজ .. চিত্র যান। new Date(Date.now()).toLocaleString() ইনপুট হিসাবে,

IE10 আয়:

"Tuesday, February 07, 2017 2:58:25 PM"

আমি একটি বড় দীর্ঘ ফাংশন এবং FTFY লিখতে পারে। কিন্তু আপনি সত্যিই এই উপাদান জন্য moment.js ব্যবহার করা উচিত। আমার স্ক্রিপ্টটি কেবল > todaysDate = "March 06, 2017" পরিষ্কার করে এবং আপনাকে প্রসারিত প্রচলিত মার্কিন নোটেশন দেয়: > todaysDate = "March 06, 2017"

IE EDGE আয়:

"‎2‎/‎7‎/‎2017‎ ‎2‎:‎59‎:‎27‎ ‎PM"

অবশ্যই এটা সহজ হতে পারে না। এজের তারিখের স্ট্রিংটি প্রতি দৃশ্যমান একের মধ্যে অদৃশ্য "•" অক্ষর আছে। তাই প্রথম অক্ষরটি শুধুমাত্র একটি সংখ্যা নয়, তবে প্রথম 3 টি অক্ষর তা যাচাই করা হবে, কারণ এটি দেখা যাচ্ছে যে সমগ্র তারিখ পরিসরের কোনও অক্ষর অবশেষে কোন বিন্দুতে একটি বিন্দু বা একটি স্ল্যাশ হবে। তাই জিনিসগুলিকে সহজ রাখতে, শুধু .slice() প্রথম তিনটি অক্ষর (ভবিষ্যতের .slice() বিরুদ্ধে ক্ষুদ্র বাফার) এবং তারপরে সংখ্যার জন্য চেক করুন। এটি সম্ভবত লক্ষনীয় যে এই অদৃশ্য বিন্দু সম্ভাব্য আপনার কোড অব্যাহত থাকতে পারে। আমি হয়তো আপনার দৃষ্টিভঙ্গিতে এই স্ট্রিংটি মুদ্রণ করার চেয়ে বড় পরিকল্পনা পেয়েছি যেটিতে খনন করব।

One এক-মাছ ধরার নৌকা আপডেট:

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

যে পড়তে sucks। কেমন:

var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];

মূল উত্তর

আমি আপনার জন্য একটি এক মাছ ধরার নৌকা আছে:

new Date(Date.now()).toLocaleString().split(', ')[0];

এবং [1] আপনাকে দিন সময় দিতে হবে।


var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

ধাপে এটি ভাঙ্গতে:

  1. (new Date()).toString() দেয় "শুক্র জুন 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(' ') প্রতিটি স্পেসে উপরের স্ট্রিংটি বিভক্ত করে এবং নিম্নরূপ একটি অ্যারে প্রদান করে: ["শুক্র", "জুন", "28", "2013", "15: 31:14 "," জিএমটি -0700 "," (পিডিটি) "]

  3. (new Date()).toString().split(' ').splice(1,3).join(' ') উপরের সারির থেকে দ্বিতীয়, তৃতীয় এবং চতুর্থ মান গ্রহণ করে, তাদের স্পেস দিয়ে যোগ দেয় এবং একটি প্রদান করে স্ট্রিং "জুন 28 2013"


var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

যদি আপনি utc পরিবর্তনশীল, যেমন new Date(utc) পুনঃব্যবহার করতে যাচ্ছেন তবে replace বিকল্পটি ব্যবহার করুন, যেমন ফায়ারফক্স এবং সাফারি ড্যাশের সাথে একটি তারিখ সনাক্ত করে না।


new Date().toISOString().slice(0,10); 

খুব কাজ করবে


var date = new Date().toLocaleDateString("en-US");

এছাড়াও, আপনি দুটি প্যারামিটারের সাথে toLocaleDateString পদ্ধতিতে কল করতে পারেন:

var date = new Date().toLocaleDateString("en-US", {
    "year": "numeric",
    "month": "numeric"
});

MSDN নিবন্ধ। MDN এই পদ্ধতি সম্পর্কে আরও।








date