Làm cách nào để xác định liệu một NSDate (bao gồm cả thời gian) đã trôi qua? Tôi cần phải so sánh về cơ bản ngày hôm nay với một ngày trong db nhưng am stumped.Làm cách nào để xác định liệu một NSDate (bao gồm thời gian) đã trôi qua
Trả lời
Hãy thử điều này:
if ([someDate timeIntervalSinceNow] < 0.0) {
// Date has passed
}
Bạn có thể sử dụng
[NSDate date];
để có được một đối tượng NSDate đại diện cho thời gian hiện tại và ngày.
Sau đó, so sánh với ngày bạn đang phân tích, ví dụ:
if ([currentDate timeIntervalSince1970] > [yourDate timeIntervalSince1970]) {
// yourDate is in the past
}
bạn có thể sử dụng để so sánh hai ngày bất kỳ. Hi vọng điêu nay co ich.
hoặc làm điều đó inline: ([[ Ngày NSDate] timeIntervalSince1970]> [yourDate timeIntervalSince1970]) –
Tôi vừa cung cấp một giải pháp tổng quát hơn để so sánh các ngày - so sánh một ngày đến nay là một trường hợp thích hợp. Tuy nhiên, trong thực tế, bạn có thể sẽ chỉ sử dụng timeIntervalSinceNow trong trường hợp cụ thể này. –
bạn cần sử dụng so sánh NSDate, nhiều câu trả lời ở đây sẽ hỗ trợ bạn.
logic sẽ cần tinh chỉnh, nhưng điều này nên đặt bạn đi đúng hướng:
- (BOOL)date:(NSDate*)date isBefore:(BOOL)before otherDate:(NSDate*)otherDate ;
{
if(before && ([date compare:otherDate] == NSOrderedAscending))
return YES;
if (!before && ([date compare:otherDate] == NSOrderedDescending))
return YES;
}
sử dụng:
if([self date:yourDate isBefore:YES otherDate:[NSDate date]])
Trên ghi chú kiểu mã hóa: tham số thứ hai của bạn nên được đặt tên là 'isBefore:'. Đọc to "ngày: X làBefore: YES/NO otherDate: Y" có vẻ tốt hơn IMO nhiều hơn "ngày: X là: YES/NO otherDate: Y". – Taum
- 1. Tính toán thời gian đã trôi qua
- 2. Transact-SQL để tổng hợp thời gian đã trôi qua
- 3. Làm cách nào để bỏ qua thời gian trong NSDate?
- 4. Có cách nào tốt hơn để xác định thời gian trôi qua trong Perl không?
- 5. Powershell hiển thị thời gian đã trôi qua
- 6. Tính thời gian đã trôi qua trong php
- 7. Lấy thời gian đã trôi qua (Mục tiêu-c)
- 8. Cách tính thời gian trôi qua của một hàm?
- 9. thời gian trôi qua nhanh trên linux
- 10. Nhận thời gian trôi qua trong Qt
- 11. Làm thế nào để vẽ tích phân của một tín hiệu khi thời gian trôi qua?
- 12. SQL để tìm thời gian trôi qua từ nhiều khoảng thời gian chồng chéo
- 13. Làm cách nào để có thời gian trôi qua trong C tính bằng mili giây? (Windows)
- 14. Xác định thử nghiệm nào bao gồm một dòng mã
- 15. Tôi cần tính thời gian đã trôi qua giữa hai đối tượng ngày
- 16. JodaTime PeriodFormat, Thời gian đã trôi qua chỉ với 1 Trường
- 17. Nhận chênh lệch thời gian chính xác giữa hai NSDate?
- 18. Xác định tồn tại thời gian biên dịch bao gồm các tệp trong C++
- 19. /usr/bin/time - xuất ra định dạng thời gian trôi qua tính bằng mili giây
- 20. C# thời gian trôi qua trên bộ hẹn giờ?
- 21. Làm thế nào để bao gồm một bộ đếm thời gian trong Bash Scripting?
- 22. Cách đặt thời gian trên NSDate?
- 23. Làm cách nào để phân tích ngày bao gồm múi giờ với Thời gian Joda
- 24. Date.getTime() không bao gồm thời gian?
- 25. Làm thế nào để tính toán bao nhiêu năm trôi qua kể từ một ngày nhất định trong Ruby?
- 26. Làm thế nào để chuyển đổi NSDate thành số nguyên để vượt qua ngày PHP() làm dấu thời gian unix?
- 27. Cách thêm khoảng thời gian vào một NSDate?
- 28. NSDate với thành phần ngày từ thành phần một và thời gian từ một NSDate
- 29. Cách tính thời gian trôi qua tính bằng giây trong VBA?
- 30. NSDate, NTP, và hãng thời gian
tôi đặt đó vào một phương pháp loại để bạn có thể sử dụng 'someDate.isInPast'. –
mã của bạn chỉ so sánh ngày không phải là thời gian. Giống như tôi đang so sánh cùng một ngày nhưng thời gian khác nhau như thế này: 1/1/2015 5:00:00 và 1/1/2015 7:00:00 với ngày này nó cho tôi biết Ngày đã trôi qua. – Daddy
+ Bố, không chắc ý bạn là gì. Theo tài liệu, phương pháp này phải hoàn hảo: "Khoảng thời gian giữa đối tượng ngày và ngày và giờ hiện tại. (Chỉ đọc) Nếu đối tượng ngày sớm hơn ngày và giờ hiện tại, giá trị của thuộc tính này là âm." –