আপনি যদি আইওএস 8 বা ওএস এক্স 10.10 বা তদূর্ধ্ব লক্ষ্য করে থাকেন তবে এটি অনেক সহজ হয়ে গেছে। নতুন NSDateComponentsFormatter
ক্লাসটি আপনাকে NSTimeInterval
ব্যবহারকারীকে দেখানোর জন্য প্রদত্ত একটি মানটিকে একটি সেকেন্ডের মধ্যে সেকেন্ডে রূপান্তর করতে দেয় । উদাহরণ স্বরূপ:
উদ্দেশ্য গ
NSTimeInterval interval = 326.4;
NSDateComponentsFormatter *componentFormatter = [[NSDateComponentsFormatter alloc] init];
componentFormatter.unitsStyle = NSDateComponentsFormatterUnitsStylePositional;
componentFormatter.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorDropAll;
NSString *formattedString = [componentFormatter stringFromTimeInterval:interval];
NSLog(@"%@",formattedString); // 5:26
দ্রুতগতি
let interval = 326.4
let componentFormatter = NSDateComponentsFormatter()
componentFormatter.unitsStyle = .Positional
componentFormatter.zeroFormattingBehavior = .DropAll
if let formattedString = componentFormatter.stringFromTimeInterval(interval) {
print(formattedString) // 5:26
}
NSDateCompnentsFormatter
এছাড়াও এই আউটপুট দীর্ঘ ফর্ম হতে অনুমতি দেয়। আরও তথ্য এনএসএইচইপস্টারের এনএসফর্মেটর নিবন্ধে পাওয়া যাবে । এবং আপনি ইতিমধ্যে কোন শ্রেণীর সাথে কাজ করছেন (যদি তা না হয় NSTimeInterval
) এর উপর নির্ভর করে NSDateComponents
, NSDate
নিম্নলিখিত পদ্ধতিগুলির সাহায্যে ফর্ম্যাটরটি দুটি উদাহরণ বা দুটি বস্তুর পাশ করা আরও সুবিধাজনক হতে পারে ।
উদ্দেশ্য গ
NSString *formattedString = [componentFormatter stringFromDate:<#(NSDate *)#> toDate:<#(NSDate *)#>];
NSString *formattedString = [componentFormatter stringFromDateComponents:<#(NSDateComponents *)#>];
দ্রুতগতি
if let formattedString = componentFormatter.stringFromDate(<#T##startDate: NSDate##NSDate#>, toDate: <#T##NSDate#>) {
// ...
}
if let formattedString = componentFormatter.stringFromDateComponents(<#T##components: NSDateComponents##NSDateComponents#>) {
// ...
}