2009-07-24 10 views
64

एक काफी सीधे आगे सवाल, मैं यह पता लगाने की कोशिश कर रहा हूं कि मैं वर्तमान महीने में एनएसडीएटी या कोको स्पर्श में समान कुछ का उपयोग करके वर्तमान दिनों में कैसे प्राप्त कर सकता हूं। धन्यवाद।आईफोन एसडीके का उपयोग कर चालू महीने में दिनों की संख्या?

उत्तर

159

आप NSDate और NSCalendar कक्षाओं का उपयोग कर सकते हैं:

NSDate *today = [NSDate date]; //Get a date object for today's date 
NSCalendar *c = [NSCalendar currentCalendar]; 
NSRange days = [c rangeOfUnit:NSDayCalendarUnit 
         inUnit:NSMonthCalendarUnit 
         forDate:today]; 

today आज की तारीख का प्रतिनिधित्व एक NSDate वस्तु है; इसका उपयोग वर्तमान माह में दिनों की संख्या को काम करने के लिए किया जा सकता है। ऑब्जेक्ट को तत्काल चालू किया जाता है, जिसका उपयोग वर्तमान दिनांक के लिए NSDate के साथ rangeOfUnit:inUnit:forDate: फ़ंक्शन का उपयोग करके वर्तमान माह में दिनों की संख्या को वापस करने के लिए किया जा सकता है।

days.length में वर्तमान माह में दिनों की संख्या होगी।

यदि आप अधिक जानकारी चाहते हैं तो NSDate और NSCalendar के लिए दस्तावेज़ों के लिंक यहां दिए गए हैं।

+0

लग रहा है इस तरह चाल करेंगे। धन्यवाद :) –

+0

मुझे लगता है कि आप के लिए मतलब था डेट: आज –

+0

हां मैंने खेद किया, माफ करना, इसे 'तारीख' कहा जाता था जब मैं इसे एक्सकोड में परीक्षण कर रहा था। –

4

-[NSCalendar rangeOfUnit:inUnit:forDate:]

9

स्विफ्ट वाक्य रचना:

let date = NSDate() 
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)! 
let days = cal.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date) 
0

स्विफ्ट 3 वाक्य रचना Erez के जवाब से थोड़ा बदल गया है:

let cal = Calendar(identifier: .gregorian) 
let monthRange = cal.range(of: .day, in: .month, for: Date())! 
let daysInMonth = monthRange.count 
संबंधित मुद्दे