Moment.js का उपयोग करके फॉर्मेट की तारीख और घटाना दिन


121

मैं DD-MM-YYYYMoment.js का उपयोग करके प्रारूप में कल की तारीख रखने के लिए एक चर चाहूंगा। इसलिए अगर आज १५-०४-२०१५ है, तो मैं एक दिन घटाना चाहूंगा और १४-४-२०१५ होगा।

मैंने इस तरह से कुछ संयोजनों की कोशिश की है:

startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');

और इस:

startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');

और यह भी:

startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')

लेकिन मुझे नहीं मिल रहा है ...


क्या आपने स्वरूपण से पहले घटाव की कोशिश की है? इसे स्वरूपण बस आप एक स्ट्रिंग देता है ...
ndugger

पल ()। घटाना (10, "दिन") के बजाय सिर्फ "घ" शायद?
तेंदुआ

"पकड़" कल के एक के रूप में की तारीख की तारीख , और जब आप इसे प्रदर्शित करने के लिए जरूरत है एक स्वरूपित स्ट्रिंग में बदल।
प्वांइट

@NickDugger मैंने उस प्रश्न में एक गलती की, आखिरी प्रयास को शुरुआत = क्षण () कहना चाहिए; पहली पंक्ति में। Ive ने अब इसे संपादित किया
बीइंगमोंडो

format()फ़ंक्शन है जो इसे एक स्ट्रिंग बनाता है। आपको ऐसा करना चाहिए।
jwatts1980 13

जवाबों:


210

आपके पास कई विषमताएँ हो रही हैं। पहले आपके पोस्ट में संपादित किया गया है, लेकिन यह उस आदेश के साथ करना था जो विधियों को बुलाया जा रहा था।

.formatएक स्ट्रिंग देता है। स्ट्रिंग में एक subtractविधि नहीं है ।

दूसरा मुद्दा यह है कि आप दिन घटा रहे हैं, लेकिन वास्तव में इसे एक चर के रूप में नहीं बचा रहे हैं।

आपका कोड, तब, जैसा दिखना चाहिए:

var startdate = moment();
startdate = startdate.subtract(1, "days");
startdate = startdate.format("DD-MM-YYYY");

हालाँकि, आप इसे एक साथ चेन कर सकते हैं; यह इस तरह दिखेगा:

var startdate = moment().subtract(1, "days").format("DD-MM-YYYY");

अंतर यह है कि हम उन परिवर्तनों की शुरुआत कर रहे हैं, जो आप शुरुआत में कर रहे हैं, क्योंकि क्षण विनाशकारी है।


13
क्षण.जैसा subtract, वास्तव में, विनाशकारी है। "समय घटाकर मूल क्षण को बदल देता है"। यहां देखें: momentjs.com/docs/#/manipulating/subtract
docksteaderluke


5

इसे इस्तेमाल करे:

var duration = moment.duration({'days' : 1});
moment().subtract(duration).format('DD-MM-YYYY');

यह आपको देगा 14-04-2015- आज 15-04-2015 है

वैकल्पिक रूप से यदि आपका क्षणिका संस्करण 2.8.0 से कम है, तो आप उपयोग कर सकते हैं:

startdate = moment().subtract('days', 1).format('DD-MM-YYYY');

इसके अलावा:

startdate = moment().subtract(1, 'days').format('DD-MM-YYYY');


2

मुझे लगता है कि आपको यह आखिरी प्रयास में मिल गया है, आपको बस स्ट्रिंग को हड़पने की जरूरत है .. क्रोम के कंसोल में ..

startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY');
"14-04-2015"

startdate = moment();
startdate.subtract(1, 'd');
myString = startdate.format('DD-MM-YYYY');
"14-04-2015"
myString
"14-04-2015"

2

Angularjs क्षण में = "^ 1.3.0"

moment('15-01-1979', 'DD-MM-YYYY').subtract(1,'days').format(); //14-01-1979
or
moment('15-01-1979', 'DD-MM-YYYY').add(1,'days').format(); //16-01-1979
``



2
var date = new Date();

var targetDate = moment(date).subtract(1, 'day').toDate(); // date object

अब, आप प्रारूप कर सकते हैं कि आप इस तिथि को कैसे देखना चाहते हैं या आप इस तिथि की तुलना किसी अन्य आदि से कर सकते हैं।

ToDate () फ़ंक्शन बिंदु है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.