2017-05-06 9 views
6

मुझे वर्तमान माह के रूप में प्राप्त करने की आवश्यकता है लेकिन मैं नहीं कर सका। इसे कैसे प्राप्त किया जा सकता है।मैं स्विंग में स्ट्रिंग के रूप में वर्तमान माह कैसे प्राप्त कर सकता हूं:

let date = NSDate() 
    let calendar = NSCalendar.currentCalendar() 
    let components = calendar.components([.Day , .Month , .Year], fromDate: date) 

    let year = components.year 
    let month = components.month 
    let day = components.day 

मैंने यह किया है लेकिन काम नहीं किया है।

+0

आप स्ट्रिंग के रूप में क्रमसूचक संख्या चाहते हैं इसके साथ कोड

extension Date { func getMonthName() -> String { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "MMMM" let strMonth = dateFormatter.string(from: self) return strMonth } } 

प्राप्त करें काम नीचे कोशिश, महीने के नाम या कुछ और (जो भाषा में)? और स्विफ्ट 3 को अपडेट करने पर विचार करें। यह भविष्य है। – vadian

+0

@vadian 3 पहले से ही अतीत है। हम 3.1 –

+0

@LeoDabus पर हैं निश्चित रूप से मेरा मतलब है कि एक बड़े अपग्रेड की तरह '≥' के मामले में स्विफ्ट 3 का मतलब है। – vadian

उत्तर

16
let now = NSDate() 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "LLLL" 
let nameOfMonth = dateFormatter.stringFromDate(now) 
+0

धन्यवाद ... – iron

+2

अकेले स्टैंड के लिए सही प्रारूप एलएलएलएल http://userguide.icu-project.org है/formatparse/डेटाटाइम –

0

आप डेटफॉर्मेटर() का उपयोग तिथि के विस्तार में उपयोग के लिए नीचे देखें।

वैश्विक प्रोजेक्ट में अपनी परियोजना में कहीं भी इसे जोड़ें।

extension Date { 
    func monthAsString() -> String { 
      let df = DateFormatter() 
      df.setLocalizedDateFormatFromTemplate("MMM") 
      return df.string(from: self) 
    } 

}

तो फिर आप अपने कोड में यह कहीं भी उपयोग कर सकते हैं।

let date = Date() 
date.monthAsString() // Returns current month e.g. "May" 
+0

क्या मुझे एनएसडीएटी तिथि का उपयोग अव्यवस्थित करना चाहिए .... स्विफ्ट 2 – iron

5

आप स्विफ्ट 3.0 तो एक्सटेंशन और दिनांक वर्ग का उपयोग कर रहे हैं, तो जाने के लिए शानदार तरीका है।

की तरह नीचे

let date = Date() 

let monthString = date.getMonthName() 
+0

मैं स्विफ्ट 2 – iron

+0

का उपयोग कर रहा हूं, अगर आप ब्रो कर सकते हैं तो स्विफ्ट 3.0 पर जाएं। bcz यह नवीनतम ** तेजी से ** पर हो रहा है –

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