এনএসডিট বছর / মাস / দিন পান


291

NSDateঅন্য কোনও তথ্য না দিয়ে আমি কীভাবে কোনও সামগ্রীর বছর / মাস / দিন পেতে পারি ? আমি বুঝতে পারি যে আমি সম্ভবত এটির অনুরূপ কিছু দিয়ে এটি করতে পারি:

NSCalendar *cal = [[NSCalendar alloc] init];
NSDateComponents *components = [cal components:0 fromDate:date];
int year = [components year];
int month = [components month];
int day = [components day];

তবে এটি NSDate'বছর / মাস / দিন' পাওয়ার মতো সাধারণ কোনও কিছুর জন্য পুরো ঝামেলা বলে মনে হচ্ছে । অন্য কোন সমাধান আছে কি?


4
আমি প্রথম কোডটি "এনএসক্যালেন্ডার * ক্যাল =" [[এনএসক্যালেন্ডার বরাদ্দ] আরম্ভ করে উইথক্যালেন্ডারআইডিটিফায়ার: এনএসগ্রিগরিয়ান ক্যালেন্ডার] এ পরিবর্তন না করা পর্যন্ত এই কোডটি ব্যবহার করতে আমার বেশ খানিকটা সমস্যা হয়েছিল; " এই প্রশ্নটি জিজ্ঞাসা করার পর থেকে অবশ্যই এপিআই-তে কোনও পরিবর্তন হয়েছে।
রাসেল থ্যাকস্টন

@ ফিউচারেলাইট 7 পুনর্বিবেচনায় ফিরে গেছে। thereতিহাসিক উদ্দেশ্যগুলির জন্য কোডটি এখানে রয়েছে এবং আমার প্রাথমিক ধারণাটি কী ছিল তার একটি সহজ ব্যাখ্যা ছিল।
রিচার্ড জে। রস তৃতীয়

কোডটি আর কাজ করে না। আপনি কি সঠিক কোডটিতে একটি নোট রাখতে পারেন?
ভবিষ্যতলিটি 7

@ ফিউচারেলাইট 7 নং এই কোডটি আমার প্রথম প্রয়াসের প্রদর্শন ছিল, এটি কখনই কাজ করার উদ্দেশ্য ছিল না। আপনি যদি মনে করেন যে এটি দ্ব্যর্থক, সেই কোড ব্লকের চারপাশে প্রসঙ্গ সম্পাদনা করতে দ্বিধা বোধ করুন তবে কোডটি নিজেই সম্পাদনা করবেন না। আপনি যদি কোডটি নিজে সম্পাদনা করার বিষয়ে অত্যন্ত দৃ strongly়ভাবে অনুভব করেন তবে দয়া করে এই আবরণটি মেটাতে নিয়ে যান এবং অন্যান্য মোডগুলি কী বলবে তা আমরা দেখতে পাব।
রিচার্ড জে। রস তৃতীয়

8
@ মাইকে আপনি উত্তরগুলি কেন পড়েন তা প্রশ্ন নয়।
রিচার্ড জে। রস তৃতীয়

উত্তর:


615

এটি আপাতদৃষ্টিতে আমার সবচেয়ে জনপ্রিয় উত্তর হওয়ায় আমি আরও কিছুটা তথ্য ধারণ করতে এটি সম্পাদনা করার চেষ্টা করব।

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


তারিখ এবং সময় অর্জন করতে হবে NSCalendarযেমন আপনি উল্লেখ করেছেন, তবে এটি করার একটি সহজ উপায় আছে:

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]];

NSDateComponentsএটি বর্তমান দিনের বর্তমান সিস্টেম ক্যালেন্ডার থেকে দিন, মাস এবং বছর সম্বলিত একটি সামগ্রী তৈরি করে । ( দ্রষ্টব্য: এটি অগত্যা বর্তমান ব্যবহারকারী-নির্দিষ্ট ক্যালেন্ডার নয়, কেবলমাত্র একটি ডিফল্ট সিস্টেম)

অবশ্যই, আপনি যদি কোনও আলাদা ক্যালেন্ডার বা তারিখ ব্যবহার করেন তবে আপনি সহজেই তা পরিবর্তন করতে পারেন। NSCalendarক্লাস রেফারেন্সে উপলভ্য ক্যালেন্ডার এবং ক্যালেন্ডার ইউনিটের একটি তালিকা পাওয়া যাবে । ক্লাস রেফারেন্স সম্পর্কে আরও তথ্য NSDateComponentsপাওয়া যাবে ।NSDateComponents


রেফারেন্সের জন্য, থেকে পৃথক উপাদানগুলিতে অ্যাক্সেস NSDateComponentsকরা বরং সহজ:

NSInteger day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];

আপনার কেবলমাত্র সচেতন NSDateComponentsথাকতে হবে : আপনি যদি সেই বৈধ তথ্য দিয়ে উত্পন্ন না করেন তবে আপনি যে ক্ষেত্রের জন্য জিজ্ঞাসা করেছেন সেগুলির জন্য বৈধ তথ্য থাকবে না (অর্থাত্ NSCalendarসেগুলি তথ্য সরবরাহ করার জন্য অনুরোধ NSCalendarUnit)। NSDateComponentsনিজের মধ্যে এবং কোনও রেফারেন্স তথ্য নেই - এগুলি কেবলমাত্র সাধারণ কাঠামো যা আপনার অ্যাক্সেসের জন্য সংখ্যা রাখে। উদাহরণস্বরূপ, যদি আপনি কোনও যুগ পেতে চান তবে আপনাকে পতাকা সহ NSDateComponentsজেনারেটর পদ্ধতিটি খাওয়াতে হবে ।NSCalendarNSCalendarUnitEra


3
এটির সংশোধন করার জন্য, প্রথম লাইনে এনএসউইকক্যালেন্ডারউনিটের পরিবর্তে এনএসডেক্যালেন্ডারউনিট থাকতে হবে।
হোয়াইটহক

@ এরিক আপনি কোন ক্যালেন্ডার ব্যবহার করছেন? কোড?
Itai Ferber

7
@ জনি আপনি যে ফলাফলগুলি পান তা আপনি যে ক্যালেন্ডারটি ব্যবহার করছেন তার উপর নির্ভর করে। NSCalendarএর +currentCalendarপদ্ধতিটি সিস্টেম ক্যালেন্ডার ফিরিয়ে দেবে, এবং তাই যদি ব্যবহারকারীর ফোনটি জাপানি বা থাই সময় মোডে সেট করা থাকে তবে আপনি আলাদা বছর পান get আপনি যদি একটি নির্দিষ্ট ক্যালেন্ডার সিস্টেমকে জোর করতে চান তবে একটি ক্যালেন্ডার তৈরি করুন এবং সঠিক লোকেলের সাহায্যে এটি আরম্ভ করুন। উদাহরণস্বরূপ, গ্রেগরিয়ান ক্যালেন্ডারকে জোর করার জন্য, আপনি নিম্নলিখিতগুলি ব্যবহার করতে চান:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]
Itai Ferber

2
enums এনএসডায়ক্যালেন্ডারউনিট | এনএসমোনথক্যালেন্ডারউনিট | এনএসআইয়ারক্যালেন্ডারউইনটি প্রেরিত হয় পরিবর্তে এনএসসিএলগ্র্যান্ডউইনডে ব্যবহার করুন।
কুণাল বালানী

2
সতর্কতা: আপনি যদি ব্যবহারকারীকে কোনও মান দেখানোর চেষ্টা না করেন তবে [এনএসক্যালেন্ডার কারেন্টক্যালেন্ডার] ব্যবহার করবেন না। বিবেচনা করুন যে ব্যবহারকারীরা বৌদ্ধ বর্ষপঞ্জী (বর্তমানে বছরটি 2558 বা কোনও কিছু) বা অন্য যে কোনও অদ্ভুত ক্যালেন্ডার অনুসরণ করতে পারে। আপনি চান না যে এই ক্ষেত্রে আপনার অ্যাপ্লিকেশনটি ভেঙে যায়। গ্রেগরিয়ান ক্যালেন্ডারটি ব্যবহার করুন যদি না আপনার কাছে একটি নির্দিষ্ট কারণ না থাকে। এই বাগটি ধরা শক্ত কারণ আপনি এবং আপনার পরীক্ষকগণ সকলেই গ্রেগরিয়ানকে ডিফল্ট হিসাবে ব্যবহার করতে পারেন।
n13

51

আপনি এনএসডিট ফরমেটার ব্যবহার করে কোনও এনএসডিটের পৃথক উপাদান পেতে পারেন:

NSDateFormatter *df = [[NSDateFormatter alloc] init];

[df setDateFormat:@"dd"];
myDayString = [df stringFromDate:[NSDate date]];

[df setDateFormat:@"MMM"];
myMonthString = [df stringFromDate:[NSDate date]];

[df setDateFormat:@"yy"];
myYearString = [df stringFromDate:[NSDate date]];

আপনি যদি সংক্ষিপ্তসার পরিবর্তে মাসের নম্বর পেতে চান তবে "এমএম" ব্যবহার করুন। আপনি যদি পূর্ণসংখ্যার পেতে চান তবে ব্যবহার করুন[myDayString intValue];


1
এই মুগ্ধ দিয়ে তাঁর প্রসারিত । মজা করুন --- আপনি এটিকে আপনার কোডের মধ্যে ফেলে দিতে পারেন।
ডগএটডগ

একটি অভিধানে খেজুর ব্যবহারের জন্য আমার সমস্যার সমাধান করেছেন :) ধন্যবাদ!
mlunoe

1
এটি আসলে সমস্ত সময় প্রত্যাশা মতো 100% কাজ করে না। উদাহরণস্বরূপ, যদি এনএসডেটটি 2013-12-31 00:00:00 +0000 হয় তবে ফর্ম্যাট করা তারিখটি বছরের জন্য 2014 ফিরে আসবে, তারিখে আসল সংখ্যাটি 2013
হলেও

আমি কীভাবে বছরের দিনটি পেতে পারি যেমন 10 এপ্রিল বর্তমান দিনটি বর্তমান বছরের 99 তম দিন ?? -
আইওএস বিকাশকারী

17

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

আপনি দেখতে পাচ্ছেন, মাস বা দিন পাওয়ার জন্য এই কোডটি সংশোধন করা যথেষ্ট সহজ।

+(int)getYear:(NSDate*)date
{
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:date];

    int year = [components year];
    int month = [components month];
    int day = [components day];

    return year;
}

(আমি বিশ্বাস করতে পারি না যে আমরা আমাদের নিজস্ব মৌলিক আইওএস তারিখ ফাংশনগুলি এইভাবে লিখছি, ২০১৩ এ ...)

অন্য একটি জিনিস: দুটি এনএসডিট মানগুলির তুলনা করতে কখনও <এবং> ব্যবহার করবেন না।

এক্সকোড আনন্দের সাথে এই জাতীয় কোড গ্রহণ করবে (কোনও ত্রুটি বা সতর্কতা ছাড়াই) তবে এর ফলাফলগুলি লটারি। এনএসডিটগুলি তুলনা করতে আপনাকে অবশ্যই "তুলনা" ফাংশনটি ব্যবহার করতে হবে :

if ([date1 compare:date2] == NSOrderedDescending) {
    // date1 is greater than date2        
}

4
পয়েন্টার তুলনা ফলাফল লটারি থেকে অনেক দূরে - তাদের খুব ভাল সংজ্ঞায়িত ফলাফল রয়েছে, যতক্ষণ আপনি সেগুলি তাদের উদ্দেশ্যে করার জন্য ব্যবহার করেন - পয়েন্টারগুলির তুলনা করে, বস্তুর সাথে নয়।
রিচার্ড জে। রস তৃতীয়

এটি কোনও লটারি নাও হতে পারে তবে সি # এর ডেটটাইম অনেক বেশি স্বজ্ঞাত। আইওএস-এ, অপেক্ষাকৃত কম অপারেটরটির দুটি এনএসডেটের তুলনা করা উচিত ... কেউ কি সত্যিই দুটি এনএসডিট ভেরিয়েবলের পয়েন্টার তুলনা করতে চান? খুব কমপক্ষে, এক্সকোড শোতে একজন ব্যবহারকারীকে জিজ্ঞাসা করার জন্য একটি সতর্কতা দেখায় যে ব্যবহারকারীটি সত্যই এর অর্থ কি means
মাইক গ্লেডহিল

1
এটি কেবল একটি অলস কোডারের চিহ্ন যা তিনি লিখছেন সেই ভাষার মৌলিক বিষয়গুলি বুঝতে পারে না And এবং আমার জন্য এমন পরিস্থিতি তৈরি হয়েছে যেখানে ওবজিসি অবজেক্টের জন্য পয়েন্টার তুলনা করা প্রয়োজন - বিশেষত যদি আপনি একটি কাস্টম ধারক তৈরি করছেন (যদিও জিনিসগুলি এআরসি দিয়ে আরও অবাক হয়ে যায়)।
রিচার্ড জে রস তৃতীয়

1
আমার অবশ্যই একটি অলস কোডার হতে হবে যা মৌলিক বিষয়গুলি বুঝতে পারে না, তবে এটি দুর্দান্ত টিপ মাইক!
পিয়র-লুক জেনড্রেউ

4
পয়েন্টারের তুলনাগুলি প্রয়োজনীয় হতে পারে তবে দুটি তারিখের তুলনা করার সময় এগুলি খুব কম ব্যবহারের ক্ষেত্রে case কোনও প্রোগ্রামার পয়েন্টারের চেয়ে তারিখের তুলনায় বেশি আগ্রহী হবে এমন সময়কালের 99.99%% মূলত সি # এবং .NET কাঠামোটি সর্বাধিক সাধারণ পরিস্থিতি সহজ করার জন্য ডিজাইন করা হয়েছিল, এভাবে প্রোগ্রামারদের আরও উত্পাদনশীল করে তোলে এবং অনেক ক্ষেত্রে উদ্দেশ্য-সি অনুভব করে যে এটি ইচ্ছাকৃতভাবে জিনিসগুলিকে আরও কঠোর করে তোলে। আপনার কাছে প্রতিটি ভাষার মৌলিক বিষয়ে 800 পৃষ্ঠার বই পড়ার সময় থাকলে, চিয়ার্স, তবে আমাদের বাকীগুলির কাছে সময় এবং বাজেটের বিতরণ করার জন্য অ্যাপ রয়েছে।
ক্র্যাক

16

সুইফট ২.০ এ:

    let date = NSDate()
    let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!
    let components = calendar.components([.Month, .Day], fromDate: date)

    let (month, day) = (components.month, components.day)

11

আমি এই উত্তরটি লিখছি কারণ এটিই একমাত্র পন্থা যা আপনাকে বিকল্পগুলি আর দেয় না NSDateComponent ভেরিয়েবলগুলি বিকল্পগুলি এবং / অথবা vari ভেরিয়েবলগুলি মোড়ক জোর করে না (এছাড়াও সুইফট 3 এর জন্যও)।

সুইফট 3

let date = Date()
let cal = Calendar.current
let year = cal.component(.year, from: date)
let month = cal.component(.month, from: date)
let day = cal.component(.day, from: date)

সুইফট 2

let date = NSDate()
let cal = NSCalendar.currentCalendar()
let year = cal.component(.Year, fromDate: date)
let month = cal.component(.Month, fromDate: date)
let day = cal.component(.Day, fromDate: date)

বোনাস সুইফট 3 মজার সংস্করণ

let date = Date()
let component = { (unit) in return Calendar.current().component(unit, from: date) }
let year = component(.year)
let month = component(.month)
let day = component(.day)

আমি কীভাবে বছরের দিনটি পেতে পারি যেমন 10 এপ্রিল বর্তমান দিনটি বর্তমান বছরের 99 তম দিন ?? -
আইওএস বিকাশকারী

এবং নিশ্চিত করুন যে আপনি গ্রেগরিয়ান ক্যালেন্ডার ব্যবহার করেছেন, উদাহরণস্বরূপ জাপানী ক্যালেন্ডারের জন্য বছরের উপাদানটি 1 ডিজিটের ফেরত দেয় ...
ফ্লাভিটি

8

আইওএস 8 এ নতুন

ObjC

NSDate *date = [NSDate date];
NSInteger era, year, month, day;
[[NSCalendar currentCalendar] getEra:&era year:&year month:&month day:&day fromDate:date];

দ্রুতগতি

let date = NSDate.init()
var era = 0, year = 0, month = 0, day = 0
NSCalendar.currentCalendar().getEra(&era, year:&year, month:&month, day:&day, fromDate: date)

2
অ্যামেজিং! @ ইউচেন ঝং
লিটো

1
উজ্জ্বল! ওয়ে আরও ভাল সিনট্যাক্স!
Joan

4

আপনি যদি আইওএস 8+ টার্গেট করে থাকেন তবে আপনি NSCalendarআরও সুবিশাল ফর্ম্যাটে এটি অর্জন করতে নতুন সুবিধা পদ্ধতিগুলি ব্যবহার করতে পারেন ।

প্রথমে একটি তৈরি করুন NSCalendarএবং যা NSDateপ্রয়োজন তা ব্যবহার করুন ।

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *date = [NSDate date];

আপনি মাধ্যমে পৃথকভাবে উপাদান আহরণ করতে পারে component:fromDate:

NSInteger year = [calendar component:NSCalendarUnitYear fromDate:date];
NSInteger month = [calendar component:NSCalendarUnitMonth fromDate:date];
NSInteger day = [calendar component:NSCalendarUnitDay fromDate:date];

বা আরও সংক্ষেপে, NSIntegerপয়েন্টারগুলির মাধ্যমে ব্যবহার করুনgetEra:year:month:day:fromDate:

NSInteger year, month, day;
[calendar getEra:nil year:&year month:&month day:&day fromDate:date];

আরো তথ্য এবং উদাহরণের জন্য খুঁজে বার করো আইওএস 8 NSDate ম্যানিপুলেশন তৈরি সহজ । দাবি অস্বীকার, আমি পোস্ট লিখেছি।


আমি কীভাবে বছরের দিনটি পেতে পারি যেমন 10 এপ্রিল বর্তমান দিনটি বর্তমান বছরের 99 তম দিন ?? -
আইওএস বিকাশকারী

4

আইওএস 8.0 (এবং ওএস এক্স 10) হিসাবে আপনি এর মতো একক তারিখের উপাদানটি সহজ করতে উপাদান উপাদানটি ব্যবহার করতে পারেন :

int year = [[NSCalendar currentCalendar] component:NSCalendarUnitYear fromDate:[NSDate date]];

জিনিসগুলি সহজতর করা উচিত এবং আশা করা যায় এটি কার্যকরভাবে কার্যকর করা হয়েছে।


2

আপনি যদি এনএসডেটের কাছ থেকে পৃথক এনএসডিটকম্পোনেন্টগুলি পেতে চান তবে আপনার অবশ্যই ইটাই ফারবারের প্রস্তাবিত সমাধানের প্রয়োজন হবে। তবে আপনি যদি এনএসডিট থেকে সরাসরি কোনও এনএসএসস্ট্রিং এ যেতে চান তবে আপনি এনএসডিট ফরমেটার ব্যবহার করতে পারেন


2
    NSDate *currDate = [NSDate date];
    NSCalendar*       calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents* components = [calendar components:NSDayCalendarUnit|NSMonthCalendarUnit|NSYearCalendarUnit fromDate:currDate];
    NSInteger         day = [components day];
    NSInteger         month = [components month];
    NSInteger         year = [components year];
    NSLog(@"%d/%d/%d", day, month, year);

এটি সম্পূর্ণরূপে আমাকে পূর্ণসংখ্যা হিসাবে বছর, মাস বা দিন দেয় না, যা আমি ওপিতে অনুরোধ করেছি। -1।
রিচার্ড জে রস তৃতীয়

1
রিচার্ড জে রস তৃতীয়: আমি সবেমাত্র এটি স্থির করেছি, দুঃখিত দুঃখিত কারণ আমার উত্তরটি আপনার প্রশ্ন হারিয়েছিল।
লিনহ

2

সুইফটে সমাধানটি এখানে:

let todayDate = NSDate()
let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!

// Use a mask to extract the required components. Extract only the required components, since it'll be expensive to compute all available values.
let components = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: todayDate)

var (year, month, date) = (components.year, components.month, components.day) 

2

এটা চেষ্টা কর . । ।

টুকিটাকি সংকেতলিপি:

 NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]];
 int year = [components year];
 int month = [components month];
 int day = [components day];

এটি বর্তমান বছর, মাস, তারিখ দেয়


1

নিম্নলিখিত চেষ্টা করুন:

    NSString *birthday = @"06/15/1977";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"MM/dd/yyyy"];
    NSDate *date = [formatter dateFromString:birthday];
    if(date!=nil) {
        NSInteger age = [date timeIntervalSinceNow]/31556926;
        NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
        NSInteger day = [components day];
        NSInteger month = [components month];
        NSInteger year = [components year];

        NSLog(@"Day:%d Month:%d Year:%d Age:%d",day,month,year,age);
    }
    [formatter release];

1

সুইফট 2.x

extension NSDate {
    func currentDateInDayMonthYear() -> String {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "d LLLL yyyy"
        return dateFormatter.stringFromDate(self)
    }
}

আপনি এটি হিসাবে ব্যবহার করতে পারেন

NSDate().currentDateInDayMonthYear()

আউটপুট

6 March 2016

1

দ্রুতগতি

Dateচ্ছিক স্ট্রিং হিসাবে তারিখের যে কোনও উপাদান পাওয়ার সহজ উপায়।

extension Date {

  // Year 
  var currentYear: String? {
    return getDateComponent(dateFormat: "yy")
    //return getDateComponent(dateFormat: "yyyy")
  }

  // Month 
  var currentMonth: String? {
    return getDateComponent(dateFormat: "M")
    //return getDateComponent(dateFormat: "MM")
    //return getDateComponent(dateFormat: "MMM")
    //return getDateComponent(dateFormat: "MMMM")
  }


  // Day
  var currentDay: String? {
    return getDateComponent(dateFormat: "dd")
    //return getDateComponent(dateFormat: "d")
  }


  func getDateComponent(dateFormat: String) -> String? {
    let format = DateFormatter()
    format.dateFormat = dateFormat
    return format.string(from: self)
  }


}

let today = Date()
print("Current Year - \(today.currentYear)")  // result Current Year - Optional("2017")
print("Current Month - \(today.currentMonth)")  // result Current Month - Optional("7")
print("Current Day - \(today.currentDay)")  // result Current Day - Optional("10")

0

আমি এইভাবে করি ...

NSDate * mydate = [NSDate date];

NSCalendar * mycalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSCalendarUnit units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;

NSDateComponents * myComponents  = [mycalendar components:units fromDate:mydate];

NSLog(@"%d-%d-%d",myComponents.day,myComponents.month,myComponents.year);

0

মানব পাঠযোগ্য স্ট্রিং পেতে (দিন, মাস, বছর), আপনি এটি করতে পারেন:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSString *string = [dateFormatter stringFromDate:dateEndDate];
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.