2013-02-11 14 views

उत्तर

3

यहाँ यह पता लगाने के लिए एक ही रास्ता है: मैं आज की तारीख है

var now = new DateTime.now(); 

// Find the last day of the month. 
var beginningNextMonth = (now.month < 12) ? new DateTime(now.year, now.month + 1, 1) : new DateTime(now.year + 1, 1, 1); 
var lastDay = beginningNextMonth.subtract(new Duration(days: 1)).day; 

print(lastDay); // 28 for February 

, तो मैं अगले महीने के पहले दिन का निर्माण, और उसके बाद इसके एक दिन घटाएं। मैं साल के बदलाव को भी ध्यान में रख रहा हूं।

अद्यतन: यहाँ एक ही बात के लिए एक छोटा सा छोटी कोड है, लेकिन क्रिस के शून्य चाल से प्रेरित है:

var now = new DateTime.now(); 

// Find the last day of the month. 
var lastDayDateTime = (now.month < 12) ? new DateTime(now.year, now.month + 1, 0) : new DateTime(now.year + 1, 1, 0); 

print(lastDayDateTime.day); // 28 for February 

यह मामले में, अतिरिक्त चेक/कोड है तो आप इस प्रोग्राम के रूप में क्या करना चाहते हैं (उदाहरण के लिए आपके पास एक पूर्णांक के रूप में एक विशिष्ट महीना है)।

+0

नोट -वेविंग बंद कर दिया गया है। इस मामले में शायद इससे कोई फर्क नहीं पड़ता क्योंकि स्विच-डे एक महीने के आखिरी दिन कभी नहीं (?) होते हैं। –

+0

आप सही हैं। और एक महीने के आखिरी दिन स्विच-डेज़ हैं। –

10

अगले महीने के लिए शून्य के एक दिन के मूल्य प्रदान करना आपको पिछले महीने की आखिरी दिन है कि घटाकर 1 दिन (= 24 घंटे) यदि आप जहां दिन के उजाले की तारीख पर वास्तव में कर रहे हैं काम नहीं होगा देता है

var date = new DateTime(2013,3,0); 
print(date.day); // 28 for February 
+0

क्या यह डेटटाइम का वास्तविक वैध उपयोग है? यदि हां, तो क्या हम डेटटाइम के लिए दस्तावेज़ अपडेट करना चाहते हैं? –

+0

साफ। मैं इसे लेता हूं कि यह भविष्य में रहता है? –

+1

हां। यह गारंटीकृत व्यवहार है। –

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