আমি কীভাবে আইওএসে দু'বার (সম্ভবত বিভিন্ন দিনে ঘটতে পারে) এর মধ্যে কয়েক ঘণ্টার মধ্যে সময় অতিবাহিত করতে পারি?
আমি কীভাবে আইওএসে দু'বার (সম্ভবত বিভিন্ন দিনে ঘটতে পারে) এর মধ্যে কয়েক ঘণ্টার মধ্যে সময় অতিবাহিত করতে পারি?
উত্তর:
NSDate ফাংশন timeIntervalSinceDate: আপনি সেকেন্ডের মধ্যে দুটি তারিখের পার্থক্য দিতে হবে।
NSDate* date1 = someDate;
NSDate* date2 = someOtherDate;
NSTimeInterval distanceBetweenDates = [date1 timeIntervalSinceDate:date2];
double secondsInAnHour = 3600;
NSInteger hoursBetweenDates = distanceBetweenDates / secondsInAnHour;
দেখুন, আপেল রেফারেন্স লাইব্রেরি http://developer.apple.com/library/mac/navication/ বা আপনি যদি Xcode ব্যবহার করছেন তবে মেনু থেকে কেবল সহায়তা / ডকুমেন্টেশন নির্বাচন করুন ।
দেখুন: কীভাবে রূপান্তর-এ-এনএসটাইমেন্টারওয়াল-সেকেন্ড-মিনিটে
- সম্পাদনা: দিবালোক সঞ্চয় / লিপ সেকেন্ড সঠিকভাবে পরিচালনা করার জন্য নীচে অর্ভিলের উত্তর দেখুন
NSCalendar *c = [NSCalendar currentCalendar];
NSDate *d1 = [NSDate date];
NSDate *d2 = [NSDate dateWithTimeIntervalSince1970:1340323201];//2012-06-22
NSDateComponents *components = [c components:NSHourCalendarUnit fromDate:d2 toDate:d1 options:0];
NSInteger diff = components.minute;
NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit
প্রতিদিন, ঘন্টা বা মিনিটে প্রয়োজনীয় উপাদানগুলি পরিবর্তন করুন, আপনি যে পার্থক্যটি চান। যদি NSDayCalendarUnit
এটি নির্বাচিত হয় তবে এটি একই সাথে NSHourCalendarUnit
এবং দুটি তারিখের মধ্যে দিনের সংখ্যা ফিরে আসবেNSMinuteCalendarUnit
সুইফট 4 সংস্করণ
let cal = Calendar.current
let d1 = Date()
let d2 = Date.init(timeIntervalSince1970: 1524787200) // April 27, 2018 12:00:00 AM
let components = cal.dateComponents([.hour], from: d2, to: d1)
let diff = components.hour!
-(NSMutableString*) timeLeftSinceDate: (NSDate *) dateT {
NSMutableString *timeLeft = [[NSMutableString alloc]init];
NSDate *today10am =[NSDate date];
NSInteger seconds = [today10am timeIntervalSinceDate:dateT];
NSInteger days = (int) (floor(seconds / (3600 * 24)));
if(days) seconds -= days * 3600 * 24;
NSInteger hours = (int) (floor(seconds / 3600));
if(hours) seconds -= hours * 3600;
NSInteger minutes = (int) (floor(seconds / 60));
if(minutes) seconds -= minutes * 60;
if(days) {
[timeLeft appendString:[NSString stringWithFormat:@"%ld Days", (long)days*-1]];
}
if(hours) {
[timeLeft appendString:[NSString stringWithFormat: @"%ld H", (long)hours*-1]];
}
if(minutes) {
[timeLeft appendString: [NSString stringWithFormat: @"%ld M",(long)minutes*-1]];
}
if(seconds) {
[timeLeft appendString:[NSString stringWithFormat: @"%lds", (long)seconds*-1]];
}
return timeLeft;
}
চেকআউট: এটি গণমাধ্যমে আইওএস ক্যালেন্ডার ব্যবহার করে দিবালোকের সংরক্ষণ, লিপ ইয়ারের যত্ন নেয়। আপনি স্ট্রিং এবং শর্তগুলি পরিবর্তন করতে পারেন যাতে কয়েক ঘন্টা এবং দিন সহ মিনিট অন্তর্ভুক্ত থাকে।
+(NSString*)remaningTime:(NSDate*)startDate endDate:(NSDate*)endDate {
NSDateComponents *components;
NSInteger days;
NSInteger hour;
NSInteger minutes;
NSString *durationString;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute
fromDate: startDate toDate: endDate options: 0];
days = [components day];
hour = [components hour];
minutes = [components minute];
if (days > 0) {
if (days > 1) {
durationString = [NSString stringWithFormat:@"%d days", days];
}
else {
durationString = [NSString stringWithFormat:@"%d day", days];
}
return durationString;
}
if (hour > 0) {
if (hour > 1) {
durationString = [NSString stringWithFormat:@"%d hours", hour];
}
else {
durationString = [NSString stringWithFormat:@"%d hour", hour];
}
return durationString;
}
if (minutes > 0) {
if (minutes > 1) {
durationString = [NSString stringWithFormat:@"%d minutes", minutes];
}
else {
durationString = [NSString stringWithFormat:@"%d minute", minutes];
}
return durationString;
}
return @"";
}
যারা 3 ও ততোধিক সুইফ্ট ব্যবহার করেন,
let dateString1 = "2018-03-15T14:20:00.000Z"
let dateString2 = "2018-03-20T14:20:00.000Z"
let Dateformatter = DateFormatter()
Dateformatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let date1 = Dateformatter.date(from: dateString1)
let date2 = Dateformatter.date(from: dateString2)
let distanceBetweenDates: TimeInterval? = date2?.timeIntervalSince(date1!)
let secondsInAnHour: Double = 3600
let secondsInDays: Double = 86400
let secondsInWeek: Double = 604800
let hoursBetweenDates = Int((distanceBetweenDates! / secondsInAnHour))
let daysBetweenDates = Int((distanceBetweenDates! / secondsInDays))
let weekBetweenDates = Int((distanceBetweenDates! / secondsInWeek))
print(weekBetweenDates,"weeks")//0 weeks
print(daysBetweenDates,"days")//5 days
print(hoursBetweenDates,"hours")//120 hours
NSCalendar
এর-components:fromDate:toDate:options:
পদ্ধতি ব্যবহার করা ।