दिलचस्प पोस्ट
सरणी का रैंडम फेरबदल इंक निर्देश बनाम एडीडी 1: क्या यह बात है? Xcode – कमांड लाइन टूल इंस्टॉल करें मैं दो दृश्य नियंत्रकों के बीच संवाद करने के लिए एक साधारण प्रतिनिधि कैसे स्थापित करूं? आईओएस के लिए इवेंट हैंडलिंग – कैसे hitTest: साथएवेंट: और प्वाइंटइनसाइड: साथएवेंट: संबंधित हैं? पंडों में कॉलम का नाम बदलना VB.NET में बहुभाषी स्ट्रिंग जावा अपवाद कितना धीमा है? एक HTMLCollection को एक अर्रे में कनवर्ट करने का सबसे प्रभावी तरीका event.preventDefault () बनाम वापसी लौटा (कोई jQuery नहीं) यूआरएल में डॉट्स 404 एएसपी.नेट एमवीसी और आईआईएस के साथ हैं पाठ इनपुट तत्व में पाठ के अंत में कर्सर लगाने के लिए जावास्क्रिप्ट का उपयोग करें अजगर में एक सूची को बदलने के लिए कुशल तरीके से जेसन सीरियललाइजेशन से संपत्ति को बाहर कैसे करें निष्पादन योग्य से विंडोज सेवा बनाएँ

मैं स्ट्रिंग दिनांक को NSDate में कैसे रूपांतरित कर सकता / सकती हूं?

मैं "2014-07-15 06: 55: 14.198000 + 00: 00" स्विफ्ट में एनएसडीट को इस स्ट्रिंग डेट को परिवर्तित करना चाहता हूं।

वेब के समाधान से एकत्रित समाधान "मैं स्ट्रिंग दिनांक को NSDate में कैसे रूपांतरित कर सकता / सकती हूं?"

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

let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = /* find out and place date format from * http://userguide.icu-project.org/formatparse/datetime */ let date = dateFormatter.dateFromString(/* your_date_string */) 

अधिक प्रश्न के लिए दस्तावेज़ीकरण देखें।

स्विफ्ट 3 और बाद में

 let dateFormatter = DateFormatter() dateFormatter.dateFormat = /* date_format_you_want_in_string from * http://userguide.icu-project.org/formatparse/datetime */ let date = dateFormatter.date(from: /* your_date_string */) 
 import Foundation var dateString = "2014-07-15" // change to your date format var dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" var date = dateFormatter.dateFromString(dateString) println(date) 

मैं इसे इस कोड के साथ कर सकता हूँ।

  func convertDateFormatter(date: String) -> String { let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format dateFormatter.timeZone = NSTimeZone(name: "UTC") let date = dateFormatter.dateFromString(date) dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"///this is what you want to convert format dateFormatter.timeZone = NSTimeZone(name: "UTC") let timeStamp = dateFormatter.stringFromDate(date!) return timeStamp } 

स्विफ्ट 3 के लिए अपडेट किया गया

 func convertDateFormatter(date: String) -> String { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! let date = dateFormatter.date(from: date) dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"///this is what you want to convert format dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! let timeStamp = dateFormatter.string(from: date!) return timeStamp } 

अगर आपको तार की तारीख को अक्सर पार्स करने की ज़रूरत होती है, तो आप कार्यक्षमता को एक विस्तार में स्थानांतरित करना चाह सकते हैं। मैंने एक sharedcode.swift फ़ाइल बनाई है और वहां मेरे एक्सटेंशन लगाए हैं:

 extension String { func toDateTime() -> NSDate { //Create Date Formatter let dateFormatter = NSDateFormatter() //Specify Format of String to Parse dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss.SSSSxxx" //Parse into NSDate let dateFromString : NSDate = dateFormatter.dateFromString(self)! //Return Parsed Date return dateFromString } } 

फिर अगर आप अपनी स्ट्रिंग को एनएसडीट में बदलना चाहते हैं तो आप कुछ ऐसा ही लिख सकते हैं:

 var myDate = myDateString.toDateTime() 

विवरण

स्विफ्ट 3, एक्सकोड 8.2.1

तिथि प्रारूप एक्सटेंशन

 import Foundation extension DateFormatter { convenience init (format: String) { self.init() dateFormat = format locale = Locale.current } } extension String { func toDate (format: String) -> Date? { return DateFormatter(format: format).date(from: self) } func toDateString (inputFormat: String, outputFormat:String) -> String? { if let date = toDate(format: inputFormat) { return DateFormatter(format: outputFormat).string(from: date) } return nil } } extension Date { func toString (format:String) -> String? { return DateFormatter(format: format).string(from: self) } } 

प्रयोग

 var dateString = "14.01.2017T14:54:00" let format = "dd.MM.yyyy'T'HH:mm:ss" let date = Date() print("original String with date: \(dateString)") print("date String() to Date(): \(dateString.toDate(format: format)!)") print("date String() to formated date String(): \(dateString.toDateString(inputFormat: format, outputFormat: "dd MMMM")!)") print("format Date(): \(date.toString(format: "dd MMM HH:mm")!)") 

परिणाम

यहां छवि विवरण दर्ज करें

अधिक जानकारी

दिनांक प्रारूप के बारे में

स्विफ्ट 3 के लिए

 func stringToDate(_ str: String)->Date{ let formatter = DateFormatter() formatter.dateFormat="yyyy-MM-dd hh:mm:ss Z" return formatter.date(from: str)! } func dateToString(_ str: Date)->String{ var dateFormatter = DateFormatter() dateFormatter.timeStyle=DateFormatter.Style.short return dateFormatter.string(from: str) } 

स्विफ्ट समर्थन एक्सटेंशन, विस्तार के साथ आप एक मौजूदा कार्यक्षमता, structure , enumeration , या protocol प्रकार में एक नई कार्यक्षमता जोड़ सकते हैं।

आप extension कीवर्ड का उपयोग करके ऑब्जेक्ट को extension करके NSDate ऑब्जेक्ट में एक नया init फ़ंक्शन जोड़ सकते हैं।

 extension NSDate { convenience init(dateString:String) { let dateStringFormatter = NSDateFormatter() dateStringFormatter.dateFormat = "yyyyMMdd" dateStringFormatter.locale = NSLocale(localeIdentifier: "fr_CH_POSIX") let d = dateStringFormatter.dateFromString(dateString)! self.init(timeInterval:0, sinceDate:d) } } 

अब आप किसी NSDate ऑब्जेक्ट का प्रयोग कर सकते हैं:

 let myDateObject = NSDate(dateString:"2010-12-15 06:00:00") 

स्विफ्ट 3 के बाद से, एनएस उपसर्गों में से कई को हटा दिया गया है।

 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" /* date format string rules * http://userguide.icu-project.org/formatparse/datetime */ let date = dateFormatter.date(from: dateString) 

इस क्यूए पेज पर कोड के टुकड़े "उल्टा" हैं …

एप्पल का पहला उल्लेख यह है कि आप अपने फॉर्मेटर को कैश कर सकते हैं …

ऐप्पल डॉको के लिए लिंक बताए कि यह कैसे करना है:

दक्षता के लिए कैश फ़ॉर्मेटर्स एक डेट फॉर्मेटर बनाना एक सस्ते ऑपरेशन नहीं है। … कैश एक उदाहरण …

वैश्विक उपयोग करें …

 let df : DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" return formatter }() 

फिर बस उस फॉर्मेटर का उपयोग कहीं भी …

 let s = df.string(from: someDate) 

या

 let d = df.date(from: someString) 

या DateFormatter पर कई अन्य कई सुविधाजनक विधियों का उपयोग करें।

यह आसान है

(यदि आप स्ट्रिंग पर कोई एक्सटेंशन लिखते हैं, तो आपका कोड पूरी तरह से "उल्टा" है – आप किसी भी डेटफ़ॉर्मर कॉल का उपयोग नहीं कर सकते हैं!)

ध्यान दें कि आम तौर पर आपके पास कुछ ऐसे ग्लोबल्स होंगे … जैसे कि "formatForClient" "formatForPubNub" "FormatForDisplayOnInvoiceScreen" .. आदि।

स्विफ्ट में स्ट्रिंग के भीतर स्ट्रिंग को जोड़ने के लिए, मैंने यह किया

  var dataFormatter:NSDateFormatter = NSDateFormatter() dataFormatter.dateFormat = "dd-MMMM 'at' HH:mm a" cell.timeStamplbl.text = dataFormatter.stringFromDate(object.createdAt) 

स्विफ्ट 3.1 के लिए

 func convertDateStringToDate(longDate: String) -> String{ /* INPUT: longDate = "2017-01-27T05:00:00.000Z" * OUTPUT: "1/26/17" * date_format_you_want_in_string from * http://userguide.icu-project.org/formatparse/datetime */ let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" let date = dateFormatter.date(from: longDate) if date != nil { let formatter = DateFormatter() formatter.dateStyle = .short let dateShort = formatter.string(from: date!) return dateShort } else { return longDate } } 

नोट: यह त्रुटि अगर त्रुटि ओरिंजिनल STRING वापस करेगी

मेरे लिए यह काम ..

  import Foundation import UIKit //dateString = "01/07/2017" private func parseDate(_ dateStr: String) -> String { let simpleDateFormat = DateFormatter() simpleDateFormat.dateFormat = "dd/MM/yyyy" //format our date String let dateFormat = DateFormatter() dateFormat.dateFormat = "dd 'de' MMMM 'de' yyyy" //format return let date = simpleDateFormat.date(from: dateStr) return dateFormat.string(from: date!) } 

स्विफ्ट 3,4:

2 उपयोगी रूपांतरण:

 string(from: Date) // to convert from Date to a String date(from: String) // to convert from String to Date 

उपयोग: 1

 let date = Date() //gives today's date let dateFormatter = DateFormatter() dateFormatter.dateFormat = "dd.MM.yyyy" let todaysDateInUKFormat = dateFormatter.string(from: date) 

2।

  let someDateInString = "23.06.2017" var getDateFromString = dateFormatter.date(from: someDateInString) 
 Swift: iOS if we have string, convert it to NSDate, var dataString = profileValue["dob"] as String var dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "MM-dd-yyyy" // convert string into date let dateValue:NSDate? = dateFormatter.dateFromString(dataString) if you have and date picker parse date like this // to avoid any nil value if let isDate = dateValue { self.datePicker.date = isDate } 
 import Foundation let now : String = "2014-07-16 03:03:34 PDT" var date : NSDate var dateFormatter : NSDateFormatter date = dateFormatter.dateFromString(now) date // $R6: __NSDate = 2014-07-16 03:03:34 PDT 

https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/index.html#//apple_ref/doc/uid/20000447-SW32