Tôi có một NSString có định dạng @ "2013-01-09 06:10:10 +0000" (Tôi nhận được nó từ máy chủ và nó không phải là thời gian hiện tại). Tôi muốn tăng thêm một giây liên tục. Tôi có thể sử dụng một bộ đếm thời gian để thực hiện nó, nhưng làm thế nào để tăng thời gian thêm một giây?Cách tăng một giây bằng đối tượng NSDate
10
A
Trả lời
30
Hãy thử điều này,
NSDate *correctDate = [NSDate dateWithTimeInterval:1.0 sinceDate:yourDate];
Bạn có thể nhận yourDate từ chuỗi sử dụng NSDateFormatter
.
2
thêm 1 giây trong ngày của bạn như dưới đây ..
NSDate *mydate = [NSDate date];
NSTimeInterval secondsInEightHours = 60; // you can add hours and minuts with multiply the numbers with this second..
NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];
1
Giả sử chuỗi ngày của bạn là trong var gọi serverString. Bạn có thể có được một ngày theo cách này ...
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss z"];
NSDate *date = [df dateFromString:serverString];
Và tăng nó theo cách này:
date = [date dateByAddingTimeInterval:1.0];
0
Giải pháp SWIFT 3.x
// Just an example to present second level date/time calculation
let time = NSDate()
let interval:Double = 5.0
let timeFiveSecondLater = time.addingTimeInterval(interval)
1
Ngày nay (2017) Apple khuyến cáo sử dụng (NS)Calendar
cho tất cả các loại toán ngày
Mục tiêu-C
NSDate *now = [NSDate date];
NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDate *nowPlusOneSecond = [currentCalendar dateByAddingUnit:NSCalendarUnitSecond
value:1
toDate:now
options:NSCalendarMatchNextTime];
Swift 3
let now = Date()
let currentCalendar = Calendar.current
let nowPlusOneSecond = currentCalendar.date(byAdding: .second, value: 1, to: now)!
Các vấn đề liên quan
- 1. Làm thế nào để tôi giải pháp tăng một đối tượng NSDate trong Objective-C
- 2. Cách đặt giây thành 0 cho NSDate
- 3. Chuyển đổi đối tượng time_t thành NSDate?
- 4. Chuyển đổi mili giây để NSDate
- 5. tăng int đối tượng
- 6. NSPredicate: lọc đối tượng theo ngày thuộc tính NSDate
- 7. 5 viết mỗi giây cho một nhóm đối tượng
- 8. Thay đổi năm, tháng và ngày của đối tượng NSDate
- 9. Khởi tạo đối tượng NSDate với thời gian cụ thể
- 10. NSDateComponents của một NSDate
- 11. Lọc đối tượng trong vòng hai giây bằng cách sử dụng SQLAlchemy
- 12. Ngủ một sợi chỉ tăng cho một số nano giây
- 13. Tìm loại đối tượng python tăng
- 14. tạo đối tượng JQuery bằng cách truyền đối tượng DOM?
- 15. Tăng giá trị trong một đối tượng lồng nhau?
- 16. lấy một đối tượng từ tăng :: tùy chọn
- 17. Tạo ngày tháng đối tượng php không có giây
- 18. chuyển đối tượng C++ vào hàm python bằng cách tăng :: python
- 19. NSDate với thành phần ngày từ thành phần một và thời gian từ một NSDate
- 20. Làm thế nào để thời gian một hàm tính bằng mili giây mà không tăng :: timer
- 21. Javascript chuyển đổi giây thành đối tượng ngày
- 22. Ghi tăng dần đối tượng Bộ đệm Giao thức
- 23. Làm phẳng mảng đối tượng vào một mảng đối tượng khác bằng cách sử dụng javascript
- 24. Gõ một đối tượng bằng cách sử dụng đối tượng "Loại" trong C#
- 25. Sắp xếp mảng các đối tượng sở hữu bởi NSDate họ
- 26. NSDate trừ một tháng
- 27. nhận được tăng :: posix_time :: time_duration trong giây
- 28. Khởi tạo một đối tượng datetime với giây kể từ kỷ nguyên
- 29. Cách thêm khoảng thời gian vào một NSDate?
- 30. Nhận NSDate từ NSDate được điều chỉnh theo múi giờ
downvote để sao chép mã từ [câu hỏi này] (http://stackoverflow.com/a/1654439/328360) nhưng không sửa chữa nó lên (không sửa chữa tên biến và mã không thực sự thêm một giây, nó thêm 60 giây) – Marko
@Marko tôi chỉ đăng mã của tôi mà tôi đã sử dụng trước đó trong ứng dụng của mình và tôi không biết tại thời điểm đó tôi nhận giải pháp từ đó trả lời tôi gửi mã của tôi không được sao chép từ câu trả lời của người khác. tôi không biết về điều đó nhưng đây là mã mà tôi chỉ đăng với mã và logic của mình. –