NSDate* day1
ve NSDate* day2
var. 1. yıldan gün/saat/saat/dakika/saniye arasında sadece yıl/ay/gün kopyalayarak NSDate* day3
'u nasıl yapabilirim?İki NSDates'i birleştirerek yeni bir NSDate yapın
6
A
cevap
15
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *comps = [[NSCalendar currentCalendar] components:unitFlags fromDate:day1];
NSDate *day3 = [[NSCalendar currentCalendar] dateFromComponents:comps];
unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
comps = [[NSCalendar currentCalendar] components:unitFlags fromDate:day2];
day3 = [[NSCalendar currentCalendar] dateByAddingComponents:comps toDate:day3 options:0];
Kaynaklar:
0
Bir NSCalendar oluşturmanız ve sonra bileşenleri ilk ve ikinci tarihten itibaren almanız ve daha sonra yeni tarih bileşenlerini NSCalendar öğesinden almanız gerekir.
kullanımlar NSCalendar yöntemleri
– components:fromDate:
– dateFromComponents:
ve karşılık gelen birim bayrakları
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit |NSSecondCalendarUnit;
1
Bu darvids0n gibi kompakt değil, ancak çalışır.
NSDate* day1 = [datePicker dateValue];
NSDate* day2 = [NSDate date];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:day1;
NSInteger day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];
components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit |NSSecondCalendarUnit fromDate:day2];
NSInteger hour = [components hour];
NSInteger minute = [components minute];
NSInteger second = [components second];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
[comps setDay:day];
[comps setMonth:month];
[comps setYear:year];
[comps setHour:hour];
[comps setMinute:minute];
[comps setSecond:second];
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *day3 = [cal dateFromComponents:comps];
veya kayıtlarla ilgili
NSDateFormatter *tempFormatter = [[[NSDateFormatter alloc]init]autorelease];
[tempFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString* message = [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second];
NSDate *day3 = [tempFormatter dateFromString:message];
0
, burada sen yaz I sorunları önlemek için bu
NSDate *day3 =
[day2 dateByTakingComponents: NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit
fromDate: day1];
İlgili konular
- 1. NSDate, başka bir NSDate
- 2. İki NSDate nesneleri
- 3. İki veritabanından tabloları birleştirerek codeigniter
- 4. İki diziyi pandalarda birleştirerek endeksleri
- 5. MySQL iki tablo birleştirerek görünüm oluştur
- 6. bir NSDate
- 7. Bir NSDate öğesinin [NSDate date] ile karşılaştırılması
- 8. NSDate substract bir ay
- 9. Bir NSDate öğesinin NSDateComponents'ları
- 10. Başlatma NSDate
- 11. NSDate: Time
- 12. [NSDate tarih]
- 13. PHP Dizi birleştirerek çalışmıyor
- 14. PHP, MYSQL dizilerini birleştirerek mysqli_fetch_array
- 15. clojureql iki tarih arasında seçim yapın
- 16. Xcode'ta bir işlem yapın
- 17. Asp.net'de Google api ile yeni bir takvim yapın MVC 5
- 18. Yeni bir etkinlik açmak için Facebook'a giriş yapın
- 19. SWIFT NSTimeInteval'i NSDate dönüştürün
- 20. NSDate yuvarlamadan saniyeyi sıfırlama
- 21. Değerleri birleştirerek diziler nasıl birleştirilir?
- 22. Swift'de NSDate nasıl oynanır?
- 23. NSDate NSString nasıl dönüştürülür?
- 24. Bir dize iki yeni özniteliğe bölme
- 25. İki tarayıcı penceresi arasında geçiş yapın Selenium WebDriver
- 26. Bir time_t öğesinin NSDate nesnesine dönüştürülmesi?
- 27. NSDate - Gelecekte bir tarih belirlemek için
- 28. Dörtgen bir alanın hesaplamasını yapın
- 29. Bir veri çerçevesindeki iki veya daha fazla sütunu yeni bir ada sahip yeni bir sütuna nasıl birleştirilir? Örneğin
- 30. Bir sayı yapın Yüzde
gibi diyebilirsin daha genel bir yaklaşım
olduğunu currentCalendar değerini UTC zaman dilimi olarak ayarlamanızı öneririz. –