2012-12-26 20 views
10

क्या वर्तमान वित्तीय तिमाही को जानने के तरीके में एक सरल/निर्मित है?Moment.js में, आप वर्तमान वित्तीय तिमाही कैसे प्राप्त करते हैं?

पूर्व:

  • जनवरी-मार्च: 1
  • अप्रैल-जुलाई: 2
  • जुलाई-सितंबर: 3rd
  • अक्टूबर-दिसंबर: 4

उत्तर

33

यह अब पल में समर्थित है।के रूप में आसान के रूप में:

moment('2014-12-01').utc().quarter() //outputs 4 
moment().quarter(); //outputs current quarter ie. 2 
+4

वास्तविक तिथियां प्राप्त करने वाले लोगों के लिए: http://stackoverflow.com/review/suggested-edits/14927736 –

1

वहाँ कुछ भी नहीं है अभी बनाया गया है, लेकिन तिमाहियों के लिए प्रारूपण टोकन जोड़ने के लिए बातचीत है। https://github.com/timrwood/moment/pull/540

इस बीच, आप निम्न की तरह कुछ उपयोग कर सकते हैं।

Math.floor(moment().month()/3) + 1; 

या, यदि आप इसे प्रोटोटाइप के पल में चाहते हैं, तो ऐसा करें।

moment.fn.quarter = function() { 
    return Math.floor(this.month()/3) + 1; 
} 
+0

हम्म ... इसके अनुसार हम अब तीसरी तिमाही में हैं: मंजिल (11/4) + 1 –

+0

मैं https://github.com/adjohnson916/moment/commit/3540e180589c010eedbe604707f794b59c77ef86 पर देख रहा था और इसका उपयोग किया सूत्र 'वापसी ~~ ((यह .month())/3) + 1; '। ~~ मतलब क्या है? संपादित करें: एनवीएम ने इसका फर्श निकाला। –

+0

आह हाँ, यह 'महीने/3' होना चाहिए। – timrwood

1

सूत्र मेरे लिए काम करने लगता है वह यह है कि:।

Math.ceil((moment().month() + 1)/3); 

पल() महीने() वापस देता है 0-11 महीने के प्रारूप तो हम जोड़ने के लिए एक

THE ACTUAL MONTH = (moment().month() + 1) 

तो हमें तिमाही में 3 महीने होने के बाद 3 से विभाजित करना होगा।

HOW MANY QUARTERS PASSED = (THE ACTUAL MONTH)/3 

और फिर हम (निकटतम तिमाही अंत करने के लिए गोल) इस बात का छत प्राप्त करने के लिए

CEILING(HOW MANY QUARTERS PASSED) 

संपादित करें:

Official formula (अभी तक प्रतिबद्ध नहीं) है:

~~((this.month())/3) + 1; 

जिसका अर्थ है Math.floor((this.month())/3) + 1;

0

यह करने के लिए जिस तरह से simplist

Math.floor(moment.month()/3) 

है कि आप शून्य आधारित तिमाही सूचकांक दे देंगे। यानी 0, 1, 2, या 3.

फिर, यदि आप तिमाही के शाब्दिक संख्या चाहते हैं, तो बस एक जोड़ें।

4

इस सरल कोड इस्तेमाल जनवरी और अप्रैल

Demo

कोड के आधार पर सभी तिमाही पाने के लिए:

// startMonth should be january or april 

    function setQuarter(startMonth) { 
    var obj = {}; 
    if(startMonth=='january'){ 

     obj.quarter1 = {start:moment().month(0).startOf('month'),end:moment().month(2).endOf('month')} 
     obj.quarter2 = {start:moment().month(3).startOf('month'),end:moment().month(5).endOf('month')} 
     obj.quarter3 = {start:moment().month(6).startOf('month'),end:moment().month(8).endOf('month')} 
     obj.quarter4 = {start:moment().month(9).startOf('month'),end:moment().month(11).endOf('month')} 
     console.log(obj); 
     return obj; 
    } 
    else if(startMonth=='april'){ 

     obj.quarter1 = {start:moment().month(3).startOf('month'),end:moment().month(5).endOf('month')} 
     obj.quarter2 = {start:moment().month(6).startOf('month'),end:moment().month(8).endOf('month')} 
     obj.quarter3 = {start:moment().month(9).startOf('month'),end:moment().month(11).endOf('month')} 
     obj.quarter4 = {start:moment().month(0).startOf('month').add('years',1),end:moment().month(2).endOf('month').add('years',1)} 
     console.log(obj); 
     return obj; 
    } 
} 

setQuarter('april'); 

Fiddle

3

संस्करण का उपयोग करना 2.14.1+ आप की तरह कुछ कर सकते हैं निम्नलिखित:

moment().quarter() मौजूदा तिमाही संख्या दिखाता है: 1, 2, 3, 4.

moment().quarter(moment().quarter()).startOf('quarter'); 

तिमाही की शुरुआत तिथि पर सेट तिथि के साथ वर्तमान तिमाही वापस कर देगा।

moment().quarter(moment().quarter()).startOf('quarter'); 

तिमाही समाप्ति तिथि पर सेट की तारीख के साथ वर्तमान तिमाही वापस कर देगा।

आप एक फ़ंक्शन भी परिभाषित कर सकते हैं जो संबंधित तिमाही संख्या को तर्क (1,2,3,4) के रूप में लेता है, और तिमाही की प्रारंभ और समाप्ति तिथि वाली वस्तु को वापस कर देता है।

function getQuarterRange(quarter) { 

    const start = moment().quarter(quarter).startOf('quarter'); 

    const end = moment().quarter(quarter).endOf('quarter'); 

    return {start, end}; 
} 
0

मुझे नहीं लगता कि इनमें से कोई भी जवाब वित्तीय तिमाही कैसे प्राप्त करें। वे बताते हैं कि कैलेंडर तिमाही कैसे प्राप्त करें।

मेरे पास एक साफ जवाब नहीं है जैसा कि मुझे यहां ले गया। लेकिन राजकोषीय तिमाही वास्तव में क्या चाहता था। और यह वित्तीय वर्ष के शुरुआती महीने पर आधारित है।

उदाहरण के लिए यदि मेरी कंपनी का वित्तीय प्रारंभ माह फरवरी है। फिर 9 जनवरी 2017 को लिखने के समय मैं वास्तव में क्यू 4 2016 में हूं।

इसे पूरा करने के लिए हमें प्रारंभ माह के एक सप्लाई किए गए पूर्णांक के सापेक्ष तिमाही प्राप्त करने का एक तरीका चाहिए।

संबंधित मुद्दे