أضف nstimeinterval إلى nsdate في الكاكاو
سؤال
لقد حصلت على أ 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.
}
لا تنتمي إلى StackOverflow