বছর, মাস, দিন এবং ঘন্টা, মিনিট, সেকেন্ড উভয়ের জন্যই এনএসডিটকে নির্দিষ্ট স্টাইলে ফর্ম্যাট করা


132

আমার মূলত বর্তমান তারিখ এবং সময় আলাদাভাবে পাওয়া দরকার, ফর্ম্যাট করে:

2009-04-26 
11:06:54

নীচের কোডটি, একই বিষয়টির অন্য একটি প্রশ্ন থেকে, উত্পন্ন করে

এখন: | 2009-06-01 23:18:23 +0100 | 
তারিখ স্ট্রিং: | জুন 01, 2009 23: 18 | 
পার্সড: | 2009-06-01 23:18:00 +0100 |

এটি আমি যা খুঁজছি প্রায় এটিই তবে আমি দিন এবং সময় আলাদা করতে চাই।

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];

NSDate *now = [[NSDate alloc] init];

NSString *dateString = [format stringFromDate:now];

NSDateFormatter *inFormat = [[NSDateFormatter alloc] init];
[inFormat setDateFormat:@"MMM dd, yyyy"];

NSDate *parsed = [inFormat dateFromString:dateString];

NSLog(@"\n"
"now:        |%@| \n"
"dateString: |%@| \n"
"parsed:     |%@|", now, dateString, parsed);

1
এরকম ক্ষেত্রে যেখানে আপনি কোডটি লিখে সমস্যাটি সমাধানের জন্য শেষ করে দিয়েছিলেন, আমি সম্ভবত এটি পোস্ট করব (এই ক্ষেত্রে সম্পাদনার নীচে সমস্ত কিছু) আপনার পোস্টে সম্পাদনার পরিবর্তে একটি উত্তরে। কোনওভাবেই বড় জিনিস নয়, তবে এটি প্রশ্নের সমাধান / এটি খুঁজে পাওয়া / দেখার পক্ষে এটি কিছুটা সহজ করে তোলে।
লরেন্স জনস্টন

উত্তর:


72

আইফোনের ফর্ম্যাট স্ট্রিংগুলি ইউনিকোড ফর্ম্যাটে রয়েছে । লিঙ্কের পিছনে একটি টেবিল রয়েছে যা উপরে বর্ণিত সমস্ত অক্ষরের অর্থ কী তাই আপনি নিজের তৈরি করতে পারেন।

এবং অবশ্যই যখন আপনার তারিখের ফর্ম্যাটরগুলি শেষ হয়ে যায় তখন তা প্রকাশ করতে ভুলবেন না। উপরের কোড ফাঁসের format, nowএবং inFormat


এটিআরসি চালিত হয়েও কি ফুটো?
ডিম্মে

19
উপরোক্তগুলিতে এআরসি-র অধীনে কোনও ফাঁস থাকবে না (অবশ্যই যখন আমরা এই আলোচনা চলছিলাম তখন এআরসি উপলব্ধ ছিল না)।
রব নেপিয়ার

194

এটি আমি ব্যবহার করেছি:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm:ss"];

NSDate *now = [[NSDate alloc] init];

NSString *theDate = [dateFormat stringFromDate:now];
NSString *theTime = [timeFormat stringFromDate:now];

NSLog(@"\n"
      "theDate: |%@| \n"
      "theTime: |%@| \n"
      , theDate, theTime);

[dateFormat release];
[timeFormat release];
[now release];

12

আপনি এই পদ্ধতিটি ব্যবহার করতে পারেন কেবল এটিতে আপনার তারিখটি দিন

-(NSString *)getDateFromString:(NSString *)string
{

    NSString * dateString = [NSString stringWithFormat: @"%@",string];

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"your current date format"];
    NSDate* myDate = [dateFormatter dateFromString:dateString];

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"your desired format"];
    NSString *stringFromDate = [formatter stringFromDate:myDate];

    NSLog(@"%@", stringFromDate);
    return stringFromDate;
}

11
    NSDateFormatter *dateformat = [[NSDateFormatter alloc] init];
    [dateformat setDateFormat:@"Your Date Format"];

ফর্ম্যাটটি ফিরে আসার জন্য সেট করুন ...

yyyy-MM-ddফেরার 2015-12-17তারিখ

yyyy-MMM-dd ফেরার 2015-Dec-17তারিখ

yy-MM-ddফেরার 15-12-17তারিখ

dd-MM-yy ফেরার 17-12-15তারিখ

dd-MM-yyyy ফেরার 17-12-2015তারিখ

yyyy-MMM-dd HH:mm:ss ফেরতের 2015-Dec-17 08:07:13তারিখ এবং সময়

yyyy-MMM-dd HH:mm ফেরতের 2015-Dec-17 08:07তারিখ এবং সময়

আরও তথ্যের জন্য এখন ক্লিক করুন জন্য ডেটা এবং সময় ফর্ম্যাট

ধন্যবাদ.....


1
কোড নমুনা সহ অতিরিক্ত বিবরণ প্রদান করুন।
ম্যাকিয়েজ লাচ

আমার এই তারিখটি '2018-06-08T07: 30: 05.391Z' আমি 'yyyy-MM-dd'T'HH: mm: ss.000Z' চেষ্টা করেছি তবে শূন্য মান পাচ্ছি।
প্রমোদ তপানিয়া

4

নতুন কিছু নয় তবে এখনও আমার পদ্ধতিটি ভাগ করে নিতে চাই:

+(NSString*) getDateStringFromSrcFormat:(NSString *) srcFormat destFormat:(NSString *)
destFormat scrString:(NSString *) srcString
{
    NSString *dateString = srcString;
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //[dateFormatter setDateFormat:@"MM-dd-yyyy"];
    [dateFormatter setDateFormat:srcFormat];
    NSDate *date = [dateFormatter dateFromString:dateString];

    // Convert date object into desired format
    //[dateFormatter setDateFormat:@"yyyy-MM-dd"];
    [dateFormatter setDateFormat:destFormat];
    NSString *newDateString = [dateFormatter stringFromDate:date];
    return newDateString;
}

3

দ্রুত জন্য

var dateString:String = "2014-05-20";
var dateFmt = NSDateFormatter()
// the format you want
dateFmt.dateFormat = "yyyy-MM-dd"
var date1:NSDate = dateFmt.dateFromString(dateString)!;

0

সুইফট 3

extension Date {
    
    func toString(template: String) -> String {
        let formatter = DateFormatter()
        formatter.dateFormat = DateFormatter.dateFormat(fromTemplate: template, options: 0, locale: NSLocale.current)
        return formatter.string(from: self)
    }
    
}

ব্যবহার

let now = Date()
let nowStr0 = now.toString(template: "EEEEdMMM") // Tuesday, May 9
let nowStr1 = now.toString(template: "yyyy-MM-dd") // 2017-05-09
let nowStr2 = now.toString(template: "HH:mm:ss") // 17:47:09

আপনার প্রয়োজন মেলে টেমপ্লেট সঙ্গে খেলুন। আপনার প্রয়োজনীয় টেম্পলেটটি তৈরি করতে আপনাকে সহায়তা করার জন্য উদাহরণ এবং ডক এখানে

বিঃদ্রঃ

আপনি উদাহরণস্বরূপ DateFormatterএটি ব্যবহার করার পরিকল্পনা করলে আপনার ক্যাশে রাখতে চাইতে পারেন TableView। একটি ধারণা দিতে, 1000 টির বেশি তারিখের লুপিং আমাকে 0.05 সেকেন্ড ব্যবহারের সাথে তুলনা করে উপরের ফাংশনটি ব্যবহার করে 0.5 সেকেন্ড নিয়েছিল ।toString(template: String)myFormatter.string(from: Date)


এই নোটটিকে আরও শক্তিশালী করার জন্য (কারণ এটি অত্যন্ত গুরুত্বপূর্ণ) আপনি নতুন ফর্মটির ডিফল্ট মান সহ একটি alচ্ছিক প্যারামিটার নিতে আপনার ফাংশনটি রিফেক্টর করতে পারেন। আমি জানি না কেন আপনি নিম্নচাপে পড়েছেন, তাই আমি এটিকে উজ্জীবিত করছি।
ভিভ করুন

-6
NSDate *date         = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"]
NSString *dateString  = [df stringFromDate:date];
[df setDateFormat:@"hh:mm:ss"];
NSString *hoursString = [df stringFromDate:date];

এটি এটি, আপনি যা চান তা পেয়েছেন।

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