questions - javascript programs




मैं 2 अंकों के प्रारूप में जावास्क्रिप्ट का महीना और दिनांक कैसे प्राप्त करूं? (12)

जब हम date ऑब्जेक्ट पर getMonth() और getMonth() कॉल getMonth() , तो हमें single digit number मिल जाएगी। उदाहरण के लिए :

january , यह 1 प्रदर्शित करता है, लेकिन मुझे इसे 01 रूप में प्रदर्शित करने की आवश्यकता है। उसको कैसे करे?


ऐसा करने का सबसे अच्छा तरीका है अपना खुद का सरल फॉर्मेटर बनाना (नीचे जैसा):

getDate() महीने के दिन (1-31 से) देता है
getMonth() महीने (0-11 से) < शून्य-आधारित, 0 = जनवरी, 11 = दिसंबर देता है
getFullYear() वर्ष देता है (चार अंक) < getYear() उपयोग न करें getYear()

function formatDateToString(date){
   // 01, 02, 03, ... 29, 30, 31
   var dd = (date.getDate() < 10 ? '0' : '') + date.getDate();
   // 01, 02, 03, ... 10, 11, 12
   var MM = ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1);
   // 1970, 1971, ... 2015, 2016, ...
   var yyyy = date.getFullYear();

   // create the format you want
   return (dd + "-" + MM + "-" + yyyy);
}

और यहां एक और संस्करण https://jsfiddle.net/ivos/zcLxo8oy/1/ , उपयोगी होने की उम्मीद है।

var dt = new Date(2016,5,1); // just for the test
var separator = '.';
var strDate = (dt.getFullYear() + separator + (dt.getMonth() + 1) + separator + dt.getDate());
// end of setup

strDate = strDate.replace(/(\b\d{1}\b)/g, "0$1")

निम्न का उपयोग db2 दिनांक प्रारूप यानी YYYY-MM-DD को टर्नरी ऑपरेटर का उपयोग करके कनवर्ट करने के लिए किया जाता है

var currentDate = new Date();
var twoDigitMonth=((currentDate.getMonth()+1)>=10)? (currentDate.getMonth()+1) : '0' + (currentDate.getMonth()+1);  
var twoDigitDate=((currentDate.getDate())>=10)? (currentDate.getDate()) : '0' + (currentDate.getDate());
var createdDateTo = currentDate.getFullYear() + "-" + twoDigitMonth + "-" + twoDigitDate; 
alert(createdDateTo);

बस एक और उदाहरण, लगभग एक लाइनर।

var date = new Date();
console.log( (date.getMonth() < 9 ? '0': '') + (date.getMonth()+1) );


मेरा समाधान:

function addLeadingChars(string, nrOfChars, leadingChar) {
    string = string + '';
    return Array(Math.max(0, (nrOfChars || 2) - string.length + 1)).join(leadingChar || '0') + string;
}

उपयोग:

var
    date = new Date(),
    month = addLeadingChars(date.getMonth() + 1),
    day = addLeadingChars(date.getDate());

jsfiddle: http://jsfiddle.net/8xy4Q/1/


यदि आप "YYYY-MM-DDTHH: mm: ss" जैसे प्रारूप चाहते हैं, तो यह तेज़ हो सकता है:

var date = new Date().toISOString().substr(0, 19);
// toISOString() will give you YYYY-MM-DDTHH:mm:ss.sssZ

या आमतौर पर इस्तेमाल किया MySQL डेटाटाइम प्रारूप "YYYY-MM-DD एचएच: मिमी: एसएस":

var date2 = new Date().toISOString().substr(0, 19).replace('T', ' ');

आशा है कि ये आपकी मदद करेगा


यहां जवाब उपयोगी थे, हालांकि मुझे इसके अलावा अधिक आवश्यकता है: डिफ़ॉल्ट नाम के लिए केवल महीने, दिनांक, महीना, घंटे और सेकंड नहीं।

दिलचस्प बात यह है कि, उपरोक्त सभी के लिए "0" की प्रीपेड की आवश्यकता थी, "+ 1" केवल महीने के लिए आवश्यक था, अन्य नहीं।

उदाहरण के रूप में:

("0" + (d.getMonth() + 1)).slice(-2)     // Note: +1 is needed
("0" + (d.getHours())).slice(-2)         // Note: +1 is not needed

MDN से युक्ति:

function date_locale(thisDate, locale) {
  if (locale == undefined)
    locale = 'fr-FR';
  // set your default country above (yes, I'm french !)
  // then the default format is "dd/mm/YYY"

  if (thisDate == undefined) {
    var d = new Date();
  } else {
    var d = new Date(thisDate);
  }
  return d.toLocaleDateString(locale);
}

var thisDate = date_locale();
var dayN = thisDate.slice(0, 2);
var monthN = thisDate.slice(3, 5);
console.log(dayN);
console.log(monthN);

http://jsfiddle.net/v4qcf5x6/


("0" + this.getDate()).slice(-2)

तिथि के लिए, और इसी प्रकार:

("0" + (this.getMonth() + 1)).slice(-2)

महीने के लिए।


function GetDateAndTime(dt) {
  var arr = new Array(dt.getDate(), dt.getMonth(), dt.getFullYear(),dt.getHours(),dt.getMinutes(),dt.getSeconds());

  for(var i=0;i<arr.length;i++) {
    if(arr[i].toString().length == 1) arr[i] = "0" + arr[i];
  }

  return arr[0] + "." + arr[1] + "." + arr[2] + " " + arr[3] + ":" + arr[4] + ":" + arr[5]; 
}

function monthFormated(date) {
   //If date is not passed, get current date
   if(!date)
     date = new Date();

     month = date.getMonth();

    // if month 2 digits (9+1 = 10) don't add 0 in front 
    return month < 9 ? "0" + (month+1) : month+1;
}

var net = require('net')

function zeroFill(i) {
  return (i < 10 ? '0' : '') + i
}

function now () {
  var d = new Date()
  return d.getFullYear() + '-'
    + zeroFill(d.getMonth() + 1) + '-'
    + zeroFill(d.getDate()) + ' '
    + zeroFill(d.getHours()) + ':'
    + zeroFill(d.getMinutes())
}

var server = net.createServer(function (socket) {
  socket.end(now() + '\n')
})

server.listen(Number(process.argv[2]))





javascript