NodeJS का उपयोग करते हुए, मैं Date
निम्नलिखित स्ट्रिंग प्रारूप में प्रारूपित करना चाहता हूं :
var ts_hms = new Date(UTC);
ts_hms.format("%Y-%m-%d %H:%M:%S");
मैं उसको कैसे करू?
NodeJS का उपयोग करते हुए, मैं Date
निम्नलिखित स्ट्रिंग प्रारूप में प्रारूपित करना चाहता हूं :
var ts_hms = new Date(UTC);
ts_hms.format("%Y-%m-%d %H:%M:%S");
मैं उसको कैसे करू?
जवाबों:
यदि आप Node.js का उपयोग कर रहे हैं, तो आपके पास EcmaScript 5 होना निश्चित है, और इसलिए दिनांक में एक toISOString
विधि है। आप ISO8601 के एक मामूली संशोधन के लिए पूछ रहे हैं:
new Date().toISOString()
> '2012-11-04T14:51:06.157Z'
तो बस कुछ चीजों में कटौती करें, और आप सेट हैं:
new Date().toISOString().
replace(/T/, ' '). // replace T with a space
replace(/\..+/, '') // delete the dot and everything after
> '2012-11-04 14:55:45'
या, एक पंक्ति में: new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')
ISO8601 आवश्यक रूप से UTC है (पहले परिणाम पर अनुगामी Z द्वारा इंगित किया गया है), इसलिए आप डिफ़ॉल्ट रूप से UTC प्राप्त करें (हमेशा एक अच्छी बात)।
Object has no method 'toISOString'
तो आप चूक गएnew
new Date().toISOString().replace('T', ' ').substr(0, 19)
ठीक काम करता है।
UPDATE 2017-03-29: जोड़ा गया दिनांक- fns, मोमेंट और डेटज पर कुछ नोट्स
UPDATE 2016-09-14: जोड़ा गया सुगरजेज़ जिसमें कुछ उत्कृष्ट तिथि / समय के कार्य हैं।
ठीक है, क्योंकि किसी ने वास्तव में वास्तविक जवाब नहीं दिया है, यहां मेरा है।
एक पुस्तकालय निश्चित रूप से मानक तरीके से तारीखों और समय को संभालने के लिए सबसे अच्छा दांव है। तारीख / समय की गणना में बहुत सारे किनारे मामले हैं इसलिए यह एक पुस्तकालय के विकास को हाथ से निकालने में सक्षम होने के लिए उपयोगी है।
यहाँ मुख्य नोड संगत समय प्रारूपण पुस्तकालयों की एक सूची है:
गैर-नोड पुस्तकालय भी हैं:
रूपांतरण के लिए एक पुस्तकालय है:
npm install dateformat
फिर अपनी आवश्यकता लिखें:
var dateFormat = require('dateformat');
फिर मूल्य बांधें:
var day=dateFormat(new Date(), "yyyy-mm-dd h:MM:ss");
डेटफॉर्म देखें
result.request_date
?
मेरे पास सामान्य रूप से पुस्तकालयों के खिलाफ कुछ भी नहीं है। इस मामले में एक सामान्य प्रयोजन पुस्तकालय ओवरकिल लगता है, जब तक कि आवेदन प्रक्रिया के अन्य भागों में भारी तारीख न हो।
इस तरह के रूप में छोटे उपयोगिता कार्यों को लिखना भी शुरुआत और निपुण प्रोग्रामर दोनों के लिए एक उपयोगी अभ्यास है और हमारे बीच नौसिखियों के लिए एक सीखने का अनुभव हो सकता है।
function dateFormat (date, fstr, utc) {
utc = utc ? 'getUTC' : 'get';
return fstr.replace (/%[YmdHMS]/g, function (m) {
switch (m) {
case '%Y': return date[utc + 'FullYear'] (); // no leading zeros required
case '%m': m = 1 + date[utc + 'Month'] (); break;
case '%d': m = date[utc + 'Date'] (); break;
case '%H': m = date[utc + 'Hours'] (); break;
case '%M': m = date[utc + 'Minutes'] (); break;
case '%S': m = date[utc + 'Seconds'] (); break;
default: return m.slice (1); // unknown code, remove %
}
// add leading zero if required
return ('0' + m).slice (-2);
});
}
/* dateFormat (new Date (), "%Y-%m-%d %H:%M:%S", true) returns
"2012-05-18 05:37:21" */
किसी भी पुस्तकालय के उपयोग के बिना अपने इच्छित प्रारूप में टाइमस्टैम्प प्राप्त करने के लिए आसानी से पठनीय और अनुकूलन योग्य तरीका:
function timestamp(){
function pad(n) {return n<10 ? "0"+n : n}
d=new Date()
dash="-"
colon=":"
return d.getFullYear()+dash+
pad(d.getMonth()+1)+dash+
pad(d.getDate())+" "+
pad(d.getHours())+colon+
pad(d.getMinutes())+colon+
pad(d.getSeconds())
}
(यदि आपको UTC प्रारूप में समय की आवश्यकता है, तो बस फ़ंक्शन कॉल को बदलें। उदाहरण के लिए "getMonth" "getUTConth" बन जाता है)
जावास्क्रिप्ट लाइब्रेरी sugar.js ( http://sugarjs.com/ ) में तिथियों को प्रारूपित करने के कार्य हैं
उदाहरण:
Date.create().format('{dd}/{MM}/{yyyy} {hh}:{mm}:{ss}.{fff}')
दिनांक ऑब्जेक्ट में प्रदान की गई विधि का उपयोग इस प्रकार करें:
var ts_hms = new Date();
console.log(
ts_hms.getFullYear() + '-' +
("0" + (ts_hms.getMonth() + 1)).slice(-2) + '-' +
("0" + (ts_hms.getDate())).slice(-2) + ' ' +
("0" + ts_hms.getHours()).slice(-2) + ':' +
("0" + ts_hms.getMinutes()).slice(-2) + ':' +
("0" + ts_hms.getSeconds()).slice(-2));
यह वास्तव में गंदा दिखता है, लेकिन इसे जावास्क्रिप्ट कोर विधियों के साथ ठीक काम करना चाहिए
मैं Nodejs और angularjs में डेटफॉर्मेट का उपयोग कर रहा हूं, इसलिए अच्छा है
इंस्टॉल
$ npm install dateformat
$ dateformat --help
डेमो
var dateFormat = require('dateformat');
var now = new Date();
// Basic usage
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
// Saturday, June 9th, 2007, 5:46:21 PM
// You can use one of several named masks
dateFormat(now, "isoDateTime");
// 2007-06-09T17:46:21
// ...Or add your own
dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
dateFormat(now, "hammerTime");
// 17:46! Can't touch this!
// You can also provide the date as a string
dateFormat("Jun 9 2007", "fullDate");
// Saturday, June 9, 2007
...
new Date(2015,1,3,15,30).toLocaleString()
//=> 2015-02-03 15:30:00
3.2.2015, 15:30:00
वैकल्पिक # 6233…।
स्थानीय समय में यूटीसी ऑफसेट जोड़ें फिर इसे ऑब्जेक्ट की toLocaleDateString()
विधि के साथ वांछित प्रारूप में परिवर्तित करें Date
:
// Using the current date/time
let now_local = new Date();
let now_utc = new Date();
// Adding the UTC offset to create the UTC date/time
now_utc.setMinutes(now_utc.getMinutes() + now_utc.getTimezoneOffset())
// Specify the format you want
let date_format = {};
date_format.year = 'numeric';
date_format.month = 'numeric';
date_format.day = '2-digit';
date_format.hour = 'numeric';
date_format.minute = 'numeric';
date_format.second = 'numeric';
// Printing the date/time in UTC then local format
console.log('Date in UTC: ', now_utc.toLocaleDateString('us-EN', date_format));
console.log('Date in LOC: ', now_local.toLocaleDateString('us-EN', date_format));
मैं स्थानीय समय के लिए डेट ऑब्जेक्ट डिफ़ॉल्ट बना रहा हूं। मैं इसमें यूटीसी ऑफ-सेट जोड़ रहा हूं। मैं एक दिनांक-स्वरूपण ऑब्जेक्ट बना रहा हूं। मैं वांछित प्रारूप में UTC दिनांक / समय प्रदर्शित कर रहा हूँ:
x-date
मॉड्यूल का उपयोग करें जो एक्स-क्लास लाइब्रेरी के उप-मॉड्यूलों में से एक है ;
require('x-date') ;
//---
new Date().format('yyyy-mm-dd HH:MM:ss')
//'2016-07-17 18:12:37'
new Date().format('ddd , yyyy-mm-dd HH:MM:ss')
// 'Sun , 2016-07-17 18:12:51'
new Date().format('dddd , yyyy-mm-dd HH:MM:ss')
//'Sunday , 2016-07-17 18:12:58'
new Date().format('dddd ddSS of mmm , yy')
// 'Sunday 17thth +0300f Jul , 16'
new Date().format('dddd ddS mmm , yy')
//'Sunday 17th Jul , 16'
new Date().toString("yyyyMMddHHmmss").
replace(/T/, ' ').
replace(/\..+/, '')
.toString () के साथ, यह प्रारूप में हो जाता है
प्रतिस्थापित करें (/ T /, '')। // T को बदलकर '2017-01-15 ...
प्रतिस्थापित करें (/..+/, '') // के लिए ... 13: 50: 16.1271
उदाहरण, var देखें date
और hour
:
var date="2017-01-15T13:50:16.1271".toString("yyyyMMddHHmmss").
replace(/T/, ' ').
replace(/\..+/, '');
var auxCopia=date.split(" ");
date=auxCopia[0];
var hour=auxCopia[1];
console.log(date);
console.log(hour);
.toString("yyyyMMddHHmmss")
?
तारीख के लिए सबसे आसान तरीका प्रारूपण का उपयोग कर रहा है। https://momentjs.com/
const moment = require('moment')
const current = moment().utc().format('Y-M-D H:M:S')
toISOString()
औरtoUTCString()
मुझे लोकल और लैंग्वेज सपोर्ट की घंटियों और सीटियों के बिना एक साधारण फॉर्मेटिंग लाइब्रेरी की जरूरत थी। इसलिए मैंने संशोधित किया
http://www.mattkruse.com/javascript/date/date.js
और इसका इस्तेमाल किया। Https://github.com/adgang/atom-time/blob/master/lib/dateformat.js देखें
प्रलेखन बहुत स्पष्ट है।
appHelper.validateDates = function (start, end) {
var returnval = false;
var fd = new Date(start);
var fdms = fd.getTime();
var ed = new Date(end);
var edms = ed.getTime();
var cd = new Date();
var cdms = cd.getTime();
if (fdms >= edms) {
returnval = false;
console.log("step 1");
}
else if (cdms >= edms) {
returnval = false;
console.log("step 2");
}
else {
returnval = true;
console.log("step 3");
}
console.log("vall", returnval)
return returnval;
}
मुझे लगता है कि यह वास्तव में आपके प्रश्न का उत्तर देता है।
यह जावास्क्रिप्ट में दिनांक / समय के साथ काम करना बहुत कष्टप्रद है। कुछ भूरे बालों के बाद मुझे पता चला कि वास्तव में बहुत सरल था।
var date = new Date();
var year = date.getUTCFullYear();
var month = date.getUTCMonth();
var day = date.getUTCDate();
var hours = date.getUTCHours();
var min = date.getUTCMinutes();
var sec = date.getUTCSeconds();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = ((hours + 11) % 12 + 1);//for 12 hour format
var str = month + "/" + day + "/" + year + " " + hours + ":" + min + ":" + sec + " " + ampm;
var now_utc = Date.UTC(str);