سؤال

لقد حصلت على أ NSDate هذا يمثل وقتا محددا. شكل من هذا التاريخ هو hhmmss. أريد أن أضيف NSInterval القيمة (المحددة في ثوان) إلى تلك القيمة الزمنية.

مثال:

NSDate =         123000
NSTimeInterval = 3600

Added together = 133000

ما هي أفضل طريقة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

هل رايت ال تواريخ و تايمز موضوعات البرمجة للكاكاو كتيب؟

تحتاج أساسا إلى تحويل وقتك إلى nsdate. لتحويل سلسلة إلى تاريخ تستخدمه NSDateFormatter الطبقة أو ربما NSDateComponents إذا كنت تعرف بالفعل الساعات والدقائق والثواني.

لك NSTimeInterval هو مجرد ضعف (أي 3600.0).

ثم تستخدم dateByAddingTimeInterval طريقة NSDate لإضافة عدد الثواني إلى الوقت.

NSDate* newDate = [oldDate dateByAddingTimeInterval:3600.0];

يمكنك بعد ذلك استخدام إما NSDateFormatter أو NSDateComponents للحصول على الوقت الجديد مرة أخرى مرة أخرى.

نصائح أخرى

addtimeinterval تم إهمالها الآن. جرب استخدام DateByaddingTimeInval. في حين أن.

// This will set the time when your view appears it will also
// set the time if you want to retrieve from it.
-(void)viewDidAppear:(BOOL)animated
{
     //Create todays date
     NSDate *duedate = [NSDate date];
     //Add how ever many days you could write 86400*numbe_of_days days 86400/24 for an hour
     //Then simply reassign the variable or use a different one.
     duedate = [duedate dateByAddingTimeInterval:86400];  //I add one day
     [datePicker setDate:duedate animated:YES]; //Animate yes will show your pickers moving
     [datePicker setMinimumDate:duedate]; //Set minimum date.
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top