NSString को NSDate में परिवर्तित करना (और फिर से वापस)


229

मैं एक NSString" 01/02/10 " (1 फरवरी 2010 का अर्थ) को एक में कैसे बदलूंगाNSDate ? और मैं कैसे NSDateवापस एक स्ट्रिंग में बदल सकता है ?


2010 का उपयोग करें। और फिर मेरी पोस्ट पर एक नज़र है। मैंने दोनों प्रक्रियाओं के लिए एक रूपांतरण प्रदान किया है।
पावन

जवाबों:


450

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

अपडेट किया गया: 2018

स्ट्रिंग टू डेट

var dateString = "02-03-2017"
var dateFormatter = DateFormatter()

// This is important - we set our input date format to match our input string
// if the format doesn't match you'll get nil from your string, so be careful
dateFormatter.dateFormat = "dd-MM-yyyy"

//`date(from:)` returns an optional so make sure you unwrap when using. 
var dateFromString: Date? = dateFormatter.date(from: dateString)

स्ट्रिंग के लिए दिनांक

var formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
guard let unwrappedDate = dateFromString else { return }

//Using the dateFromString variable from before. 
let stringDate: String = formatter.string(from: dateFromString)

स्विफ्ट 3

अपडेट किया गया: २० जुलाई २०१ 2017

स्ट्रिंग करने के लिए NSDate

var dateString = "02-03-2017"
var dateFormatter = DateFormatter()
// This is important - we set our input date format to match our input string
// if the format doesn't match you'll get nil from your string, so be careful
dateFormatter.dateFormat = "dd-MM-yyyy"
var dateFromString = dateFormatter.date(from: dateString)

स्ट्रिंग के लिए NSDate

var formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
let stringDate: String = formatter.string(from: dateFromString)

तीव्र

Updated: 22 अक्टूबर 2015

स्ट्रिंग करने के लिए NSDate

var dateString = "01-02-2010"
var dateFormatter = NSDateFormatter()
// this is imporant - we set our input date format to match our input string
dateFormatter.dateFormat = "dd-MM-yyyy"
// voila!
var dateFromString = dateFormatter.dateFromString(dateString)

स्ट्रिंग के लिए NSDate

var formatter = NSDateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
let stringDate: String = formatter.stringFromDate(NSDate())
println(stringDate)

उद्देश्य सी

NSDate को NSString

NSString *dateString = @"01-02-2010";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];

NSDate NSString में कनवर्ट करें:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *stringDate = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@", stringDate);

कि setDateFormat में दो ys होना चाहिए?
कैनबॉय

अगर 2 y का काम सुनिश्चित नहीं है। लेकिन अंगूठे का नियम है कि क्या आप कभी भी सेट के लिए एक ही प्रारूप keeo दिया जा रहा है। इसलिए पहली बार 2010 और 4 y की तरह 'yyyy' लिखें। im के रूप में यकीन है कि रक्षात्मक काम करेगा
Pavan

1
पूरी तरह से इस पोस्ट की जाँच के लायक है।
IOmi

7
NSDate *dateFromString = [[NSDate alloc] init];अगर अगली पंक्ति में पॉइंटर को नया मान देने का क्या कारण है ???
वेलेरी वैन

4
देखने के लिए एक अन्य आइटम - यदि आपकी स्ट्रिंग (दिनांक) मान 05/29/2013 के रूप में सूचीबद्ध है, तो आपके कॉल को सेटडेटफार्म को उसी के साथ मेल खाना होगा - यानी [तारीखवार सेटटेटफार्मेट: @ "MM / dy / yyyy"] - जब मैं अपने स्ट्रिंग डेटा को स्लैश करता था तो मैं व्यक्तिगत रूप से हाइफ़न का उपयोग करने की कोशिश कर रहा था। - शानदार जवाब पावन।
noobzilla

54

अद्यतन 2019 (स्विफ्ट 4):

उसके लिए Dateविस्तार किया। इसके NSDataDetectorबजाय इसका उपयोग करता है NSDateFormatter

// Just throw at it without any format.
var date: Date? = Date.FromString("02-14-2019 17:05:05")

बहुत सुखद, यह "5 पर कल" जैसी चीजों को भी पहचानता है ।

XCTAssertEqual(Date.FromString("2019-02-14"),                    Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("2019.02.14"),                    Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("2019/02/14"),                    Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("2019 Feb 14"),                   Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("2019 Feb 14th"),                 Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("20190214"),                      Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("02-14-2019"),                    Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("02.14.2019 5:00 PM"),            Date.FromCalendar(2019, 2, 14, 17))
XCTAssertEqual(Date.FromString("02/14/2019 17:00"),              Date.FromCalendar(2019, 2, 14, 17))
XCTAssertEqual(Date.FromString("14 February 2019 at 5 hour"),    Date.FromCalendar(2019, 2, 14, 17))
XCTAssertEqual(Date.FromString("02-14-2019 17:05:05"),           Date.FromCalendar(2019, 2, 14, 17, 05, 05))
XCTAssertEqual(Date.FromString("17:05, 14 February 2019 (UTC)"), Date.FromCalendar(2019, 2, 14, 17, 05))
XCTAssertEqual(Date.FromString("02-14-2019 17:05:05 GMT"),       Date.FromCalendar(2019, 2, 14, 17, 05, 05))
XCTAssertEqual(Date.FromString("02-13-2019 Tomorrow"),           Date.FromCalendar(2019, 2, 14))
XCTAssertEqual(Date.FromString("2019 Feb 14th Tomorrow at 5"),   Date.FromCalendar(2019, 2, 14, 17))

जाता है:

extension Date
{


    public static func FromString(_ dateString: String) -> Date?
    {
        // Date detector.
        let detector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.date.rawValue)

        // Enumerate matches.
        var matchedDate: Date?
        var matchedTimeZone: TimeZone?
        detector.enumerateMatches(
            in: dateString,
            options: [],
            range: NSRange(location: 0, length: dateString.utf16.count),
            using:
            {
                (eachResult, _, _) in

                // Lookup matches.
                matchedDate = eachResult?.date
                matchedTimeZone = eachResult?.timeZone

                // Convert to GMT (!) if no timezone detected.
                if matchedTimeZone == nil, let detectedDate = matchedDate
                { matchedDate = Calendar.current.date(byAdding: .second, value: TimeZone.current.secondsFromGMT(), to: detectedDate)! }
        })

        // Result.
        return matchedDate
    }
}

अद्यतन 2014:

उसके लिए एनएसएसट्रिंग एक्सटेंशन बनाया ।

// Simple as this.   
date = dateString.dateValue;

NSDataDetector के लिए धन्यवाद , यह बहुत सारे प्रारूप को पहचानता है।

'2014-01-16' dateValue is <2014-01-16 11:00:00 +0000>
'2014.01.16' dateValue is <2014-01-16 11:00:00 +0000>
'2014/01/16' dateValue is <2014-01-16 11:00:00 +0000>
'2014 Jan 16' dateValue is <2014-01-16 11:00:00 +0000>
'2014 Jan 16th' dateValue is <2014-01-16 11:00:00 +0000>
'20140116' dateValue is <2014-01-16 11:00:00 +0000>
'01-16-2014' dateValue is <2014-01-16 11:00:00 +0000>
'01.16.2014' dateValue is <2014-01-16 11:00:00 +0000>
'01/16/2014' dateValue is <2014-01-16 11:00:00 +0000>
'16 January 2014' dateValue is <2014-01-16 11:00:00 +0000>
'01-16-2014 17:05:05' dateValue is <2014-01-16 16:05:05 +0000>
'01-16-2014 T 17:05:05 UTC' dateValue is <2014-01-16 17:05:05 +0000>
'17:05, 1 January 2014 (UTC)' dateValue is <2014-01-01 16:05:00 +0000>

Eppz! किट का हिस्सा , GitHub से NSString + EPPZKit.h श्रेणी को पकड़ो ।


मूल ANSWER 2013:

आप स्ट्रिंग में निहित दिनांक प्रारूप के बारे में निश्चित नहीं हैं (या परवाह नहीं करते हैं), पार्सिंग दिनांक के लिए NSDataDetector का उपयोग करें

//Role players.
NSString *dateString = @"Wed, 03 Jul 2013 02:16:02 -0700";
__block NSDate *detectedDate;

//Detect.
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingAllTypes error:nil];
[detector enumerateMatchesInString:dateString
                           options:kNilOptions
                             range:NSMakeRange(0, [dateString length])
                        usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)
{ detectedDate = result.date; }];

यह 24-घंटे के प्रारूप का समर्थन नहीं करता है। उदाहरण के लिए NSString-> 2013-09-11 01:31:22 +0000धर्मान्तरित करने के लिए NSDate->2013-09-11 13:31:22 +0000
सूपर

मुझे यह उत्तर सबसे अधिक पसंद है क्योंकि मूल तिथि स्ट्रिंग बहुत मनमानी हो सकती है। यह ऐसे उदाहरणों में बहुत अच्छा है जहाँ उपयोगकर्ता एक पिकर के माध्यम से पाठ क्षेत्र में तारीख दर्ज कर रहा है।
काइल

2
यह तरीका कैसे तय करेगा कि तारीख डीडी / एमएम / वायय या एमएम / डीडी / वायय में है? उदाहरण के लिए यदि इनपुट 01/03/2014 है तो परिणाम क्या होगा?
अहमद

@ अहमद मैं तहे दिल से सहमत हूँ - यह दृष्टिकोण शायद काम नहीं करेगा यदि आपको विभिन्न भाषा सेटिंग्स का समर्थन करना है।
फ्रैंक श्मिट

@sooper XCTAssertEqual(Date.FromString("2013-09-11 01:31:22 +0000"), Date.FromCalendar(2013, 9, 11, 1, 31, 22))ठीक लगता है।
गेरी बोरबस

33

फिक्स्ड-फॉर्मेट डेट्स का उपयोग करते समय आपको डेट फॉर्मेटर लोकेल को सेट करना होगा "en_US_POSIX"

डेटा फ़ॉर्मेटिंग गाइड से लिया गया

यदि आप निश्चित प्रारूप तिथियों के साथ काम कर रहे हैं, तो आपको पहले तिथि प्रारूप के स्थान को अपने निर्धारित प्रारूप के लिए उपयुक्त होना चाहिए। ज्यादातर मामलों में चुनने के लिए सबसे अच्छा लोकेल en_US_POSIX है, एक ऐसा लोकेल जो विशेष रूप से उपयोगकर्ता और सिस्टम वरीयताओं दोनों की परवाह किए बिना अमेरिकी अंग्रेजी परिणाम प्राप्त करने के लिए डिज़ाइन किया गया है । en_US_POSIX समय में भी अपरिवर्तनीय है (यदि यूएस, भविष्य में किसी बिंदु पर, यह दिनांक को प्रारूपित करने के तरीके को बदल देता है, तो en_US नए व्यवहार को प्रतिबिंबित करने के लिए बदल जाएगा, लेकिन en_US_POSIX नहीं होगा) और प्लेटफार्मों के बीच (en_US_POSIX iPhone पर समान काम करता है) ओएस के रूप में यह ओएस एक्स पर करता है, और जैसा कि अन्य प्लेटफार्मों पर होता है)।

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

extension Formatter {
    static let customDate: DateFormatter = {
        let formatter = DateFormatter()
        formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.dateFormat = "dd/MM/yy"
        return formatter
    }()
    static let time: DateFormatter = {
        let formatter = DateFormatter()
        formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.dateFormat = "HH:mm"
        return formatter
    }()
    static let weekdayName: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateFormat = "cccc"
        return formatter
    }()
    static let month: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateFormat = "LLLL"
        return formatter
    }()
}

extension Date {
    var customDate: String {
        return Formatter.customDate.string(from: self)
    }
    var customTime: String {
        return Formatter.time.string(from: self)
    }
    var weekdayName: String {
        return Formatter.weekdayName.string(from: self)
    }
    var monthName: String {
        return Formatter.month.string(from: self)
    }
}

extension String {
    var customDate: Date? {
        return Formatter.customDate.date(from: self)
    }
}

उपयोग:

// this will be displayed like this regardless of the user and system preferences
Date().customTime          //  "16:50"
Date().customDate          //  "06/05/17"
// this will be displayed according to user and system preferences
Date().weekdayName         //  "Saturday"
Date().monthName           //  "May"

कस्टम दिनांक को पार्स करना और दिनांक को उसी स्ट्रिंग प्रारूप में परिवर्तित करना:

let dateString = "01/02/10"

if let date = dateString.customDate {
    print(date.customDate)   // "01/02/10\n"
    print(date.monthName)    // customDate
}

यहां वह सभी तत्व हैं जिनका उपयोग आप इसे आवश्यकतानुसार करने के लिए कर सकते हैं:

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


क्या होगा यदि कई सूत्र इन विधियों का उपयोग करते हैं? क्या फॉर्मेटर की तारीख को पुन: सौंपने के कारण गलतियां नहीं हो सकती हैं? क्या चर (तारीख / समय / सप्ताह का दिन) का उपयोग सिर्फ आपकी प्राथमिकता है या क्या उनका इस तरह से करने में फायदा है या यह एक सर्वोत्तम अभ्यास है?
लाहमार

19

NSString में कोई श्रेणी क्यों नहीं जोड़ी गई?

// NSString+Date.h
@interface NSString (Date)
+ (NSDate*)stringDateFromString:(NSString*)string;
+ (NSString*)stringDateFromDate:(NSDate*)date;
@end


// NSString+Date.m
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];

NSDate *date = [dateFormatter dateFromString:stringDate ];
[dateFormatter release];
+ (NSDateFormatter*)stringDateFormatter
{
    static NSDateFormatter* formatter = nil;
    if (formatter == nil)
    {
        formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];
    }   
    return formatter;
}

+ (NSDate*)stringDateFromString:(NSString*)string
{
    return [[NSString stringDateFormatter] dateFromString:string];
}

+ (NSString*)stringDateFromDate:(NSDate*)date
{
    return [[NSString stringDateFormatter] stringFromDate:date];
}


// Usage (#import "NSString+Date.h") or add in "YOUR PROJECT".pch file
NSString* string = [NSString stringDateFromDate:[NSDate date]];
NSDate* date = [NSString stringDateFromString:string];

यह वास्तव में उपयोगी पाया। धन्यवाद!
थॉमस

6

एक वर्ष का प्रतिनिधित्व करने के लिए "10" का उपयोग करना अच्छा नहीं है, क्योंकि यह 1910, 1810 आदि हो सकता है। आपको शायद इसके लिए 4 अंकों का उपयोग करना चाहिए।

अगर आप डेट को कुछ इस तरह से बदल सकते हैं

yyyymmdd

तो आप का उपयोग कर सकते हैं:

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];  

// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];  
[dateFormat release];

4
NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat release];

2
// Convert string to date 

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];  

// Convert Date to string

[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];  
[dateFormat release];

1
NSString *mystr=@"Your string date";

NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *now = [dateFormatter dateFromString:mystr];

Nslog(@"%@",now);

यदि आप कोड के नीचे प्रारूप उपयोग सेट करना चाहते हैं:

NSString *dateString = @"01-02-2010";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

// this is important - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];

// voila!
dateFromString = [dateFormatter dateFromString:dateString];
Nslog(@"%@",[dateFormatter dateFromString:dateString]);

1

से परिवर्तित करने के लिए इस विधि का उपयोग NSStringकरने के लिए NSdate:

-(NSDate *)getDateFromString:(NSString *)pstrDate
{
    NSDateFormatter* myFormatter = [[NSDateFormatter alloc] init];
    [myFormatter setDateFormat:@"dd/MM/yyyy"];
    NSDate* myDate = [myFormatter dateFromString:pstrDate];
    return myDate;
}

1

अगर किसी को इन दिनों स्विफ्ट में ऐसा कुछ करने में दिलचस्पी है, तो मेरे पास कुछ पर एक शुरुआत है, हालांकि यह बिल्कुल सही नहीं है।

func detectDate(dateString: NSString) -> NSDate {

    var error: NSError?
    let detector: NSDataDetector = NSDataDetector.dataDetectorWithTypes(NSTextCheckingType.Date.toRaw(), error: &error)!

    if error == nil {
        var matches = detector.matchesInString(dateString, options: nil, range: NSMakeRange(0, dateString.length))

        let currentLocale = NSLocale.currentLocale()
        for match in matches {
            match.resultType == NSTextCheckingType.Date
            NSLog("Date: \(match.date.description)")
            return match.date
        }
    }
    return NSDate()
}

1

NSString को दिनांक

NSString *dateString = [NSString stringWithFormat:@"%@",[NSDate date]];
NSLog(@"string: %@",dateString ); //2015-03-24 12:28:49 +0000

NSDate को NSString

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date); //015-03-24 12:28:49 +0000

0

आप इसके लिए एक्सटेंशन का उपयोग कर सकते हैं।

extension NSDate {
    //NSString to NSDate
    convenience
    init(dateString:String) {
        let nsDateFormatter = NSDateFormatter()
        nsDateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
        // Add the locale if required here
        let dateObj = nsDateFormatter.dateFromString(dateString)
        self.init(timeInterval:0, sinceDate:dateObj!)
    }

    //NSDate to time string
    func getTime() -> String {
        let timeFormatter = NSDateFormatter()
        timeFormatter.dateFormat = "hh:mm"
        //Can also set the default styles for date or time using .timeStyle or .dateStyle
        return timeFormatter.stringFromDate(self)
    }

    //NSDate to date string
    func getDate() -> String {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd, MMM"
        return dateFormatter.stringFromDate(self)
    }

    //NSDate to String
    func getString() -> String {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
        return dateFormatter.stringFromDate(self)
    }
}

इसलिए निष्पादन के दौरान वास्तविक कोड निम्नानुसार होगा

    var dateObjFromString = NSDate(dateString: cutDateTime)
    var dateString = dateObjFromString.getDate()
    var timeString = dateObjFromString.getTime()
    var stringFromDate = dateObjFromString.getString()

वहाँ कुछ चूक तरीके भी हैं, लेकिन मुझे लगता है कि यह आपके द्वारा प्रलेखन से दिए गए प्रारूप के लिए काम नहीं कर सकता है

    -dateFromString(_:)
    -stringFromDate(_:)
    -localizedStringFromDate(_ date: NSDate,
                     dateStyle dateStyle: NSDateFormatterStyle,
                     timeStyle timeStyle: NSDateFormatterStyle) -> String

0

सबसे अच्छा अभ्यास अपने आप को एक सामान्य वर्ग बनाना है जहां आप अपनी सभी सामान्य उपयोग विधियों, विधियों को लगभग सभी परियोजनाओं में उपयोगी बनाते हैं और @Pavan द्वारा सुझाए गए कोड को इस प्रकार जोड़ते हैं:

+ (NSDate *)getDateOutOfString:(NSString *)passedString andDateFormat:(NSString *)dateFormat{

    NSString *dateString = passedString;
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:dateFormat];
    NSDate *dateFromString = [[NSDate alloc] init];
    dateFromString = [dateFormatter dateFromString:dateString];
    return dateFromString;

}

.. और इसी तरह अन्य सभी उपयोगी तरीकों के लिए

ऐसा करके आप ऐप के लिए एक साफ पुन: प्रयोज्य कोड बनाना शुरू करते हैं। चीयर्स!


0

स्विफ्ट 2.2 के अनुसार

आप आसानी से NSDate से स्ट्रिंग और स्ट्रिंग से NSDate प्राप्त कर सकते हैं। जैसे

पहला सेट डेट फॉर्मेटर

let formatter = NSDateFormatter();
formatter.dateStyle = NSDateFormatterStyle.MediumStyle
formatter.timeStyle = .NoStyle
formatter.dateFormat = "MM/dd/yyyy"

अब स्ट्रिंग और इसके विपरीत से तारीख प्राप्त करें।

let strDate = formatter.stringFromDate(NSDate())
print(strDate)
let dateFromStr = formatter.dateFromString(strDate)
print(dateFromStr)

अब आनंद लें।


0

NSDate के लिए NSString या NSString के लिए NSDate

//This method is used to get NSDate from string 
//Pass the date formate ex-"dd-MM-yyyy hh:mm a"
+ (NSDate*)getDateFromString:(NSString *)dateString withFormate:(NSString *)formate  {

    // Converted date from date string
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
    [dateFormatter setDateFormat:formate];
    NSDate *convertedDate         = [dateFormatter dateFromString:dateString];
    return convertedDate;
}

//This method is used to get the NSString for NSDate
//Pass the date formate ex-"dd-MM-yyyy hh:mm a"
+ (NSString *)getDateStringFromDate:(NSDate *)date withFormate:(NSString *)formate {

    // Converted date from date string
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
    [dateFormatter setDateFormat:formate];
    NSString *convertedDate         = [dateFormatter stringFromDate:date];
    return convertedDate;
}

0

उपरोक्त उदाहरण केवल स्विफ्ट 3.0+ के लिए नहीं लिखे गए हैं

अद्यतन - स्विफ्ट 3.0+ - स्ट्रिंग करने के लिए दिनांक परिवर्तित करें

let date = Date() // insert your date data here
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd" // add custom format if you'd like 
var dateString = dateFormatter.string(from: date)

0

स्ट्रिंग टू डेट

var dateFormatter = DateFormatter()
dateFormatter.format = "dd/MM/yyyy"

var dateFromString: Date? = dateFormatter.date(from: dateString) //pass string here

स्ट्रिंग करने की तिथि

 var dateFormatter = DateFormatter()
 dateFormatter.dateFormat = "dd-MM-yyyy"
 let newDate = dateFormatter.string(from: date) //pass Date here
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.