এনএসএসটিংকে এনএসডিটে রূপান্তর করা (এবং আবার ফিরে)


229

আমি কীভাবে NSString" 01/02/10 " (1 লা ফেব্রুয়ারী 2010) এর মত একটিকে রূপান্তর করব NSDate? এবং আমি কিভাবে NSDateএকটি স্ট্রিং মধ্যে ফিরে চালু করতে পারেন ?


2010. ব্যবহার করুন এবং তারপরে আমার পোস্টটি দেখুন। আমি উভয় প্রক্রিয়ার জন্য একটি রূপান্তর সরবরাহ করেছি।
— Pavan

উত্তর:


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

আপডেট হয়েছে: 20 জুলাই 2017

স্ট্রিং টু এনএসডিট

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)

স্ট্রিং থেকে এনএসডিট

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

দ্রুতগতি

আপডেট হয়েছে: 22 ই অক্টোবর 2015

স্ট্রিং টু এনএসডিট

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)

স্ট্রিং থেকে এনএসডিট

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

উদ্দেশ্য গ

এনএসডিটিং-এ এনএসটিরিং

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

এনএসডিটকে এনএসএস স্ট্রিংয়ে রূপান্তর করুন:

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

সেটডেট ফরমেটে এটি কি দুই ওয়াস হওয়া উচিত?
— cannyboy

আমি নিশ্চিত 2 বছরের কাজ কিনা। তবে থাম্বের নিয়ম হ'ল আপনি কি-কেও সেটডেট ফরম্যাটের জন্য একই ফর্ম্যাটটি দিতে চলেছেন format তাই প্রথম ট্রটি ২০১০ এবং 4 টি এর মতো 'ইয়াই' লিখুন। নিশ্চিত যে এটি অবশ্যই কাজ করবে
— Pavan

1
এই পোস্টে চেক মূল্য সম্পূর্ণ।
— iOmi

7
NSDate *dateFromString = [[NSDate alloc] init];পরের লাইনে পয়েন্টারে নতুন মান নির্ধারণের কারণ কী ???
— ভ্যালারি ভ্যান

4
নজর রাখার জন্য অন্য আইটেমটি - আপনার স্ট্রিং (তারিখ) মানটি যদি 05/29/2013 হিসাবে তালিকাভুক্ত হয় তবে আপনার সেটডেট ফরমেটে কলটি মিলবে - যেমন [তারিখফর্মেটর সেটডেটফর্ম্যাট: @ "এমএম / ডিডি / ইয়াই"] - দ্য পৃথক আমি হাইফেনগুলি ব্যবহার করার চেষ্টা চালিয়ে যেতে সাহায্য করছিলাম যখন তাদের স্ট্রিং ডেটাটি কমে গেছে। - দুর্দান্ত উত্তর পবন।
— নুবজিলা

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! কিট , বিভাগ দখল NSString + + EPPZKit.h GitHub থেকে।


মূল উত্তর 2013:

আপনি স্ট্রিংয়ে থাকা তারিখের ফর্ম্যাটটি সম্পর্কে নিশ্চিত (বা যত্ন নেবেন না), পার্সিং তারিখের জন্য এনএসডিটাডেেক্টর ব্যবহার করুন ।

//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 হয় তবে ফলাফল কী হবে?
— আহমাদ

@ আহমাদ আমি আন্তরিকভাবে একমত - আপনার বিভিন্ন ভাষার সেটিংস সমর্থন করতে হলে এই পন্থা সম্ভবত কার্যকর হবে না।
— ফ্র্যাঙ্ক স্মিট

@ সোপার ভাল 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 আইফোনে একই কাজ করে) ওএস যেমন এটি ওএস এক্সে করে এবং অন্যান্য প্ল্যাটফর্মগুলিতে যেমন হয়)।

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+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 ইত্যাদি হতে পারে etc. এর জন্য আপনার সম্ভবত 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 *dateString = [NSString stringWithFormat:@"%@",[NSDate date]];
NSLog(@"string: %@",dateString ); //2015-03-24 12:28:49 +0000

এনএসডিটিং-এ এনএসটিরিং

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

সেরা অনুশীলন হ'ল নিজেকে একটি সাধারণ শ্রেণি তৈরি করা যেখানে আপনি আপনার সমস্ত সাধারণ ব্যবহারের পদ্ধতি, প্রায় সমস্ত প্রকল্পে কার্যকর পদ্ধতি এবং সেখানে পাভন দ্বারা প্রস্তাবিত কোডটি যুক্ত করেন:

+ (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

সুইফট ২.২ অনুসারে

আপনি স্ট্রিং থেকে সহজেই এনএসডিট এবং এনএসডিট থেকে স্ট্রিং পেতে পারেন। যেমন

প্রথম সেট তারিখ বিন্যাসক

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

এনএসডিটিং এনএসডিট বা এনএসডিট থেকে এনএসএসআরটিং

//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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.