Tôi là người mới bắt đầu khách quan và tôi được chỉ định tạo ứng dụng iPhone cho khách hàng của mình. Tôi có một số nền tảng với Java nhưng hầu như không có kinh nghiệm trong mục tiêu-c này và đây là lần đầu tiên tôi phát triển một ứng dụng hoàn chỉnh ...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?
Dù sao, tôi hiện đang xếp chồng ở một số vấn đề. Một trong những vấn đề đó là tôi cần gửi một giá trị số nguyên cho hàm date
của PHP từ ứng dụng iOS của tôi. Tôi đã tìm kiếm xung quanh cho giải pháp, nhưng tất cả trong số họ đang đối phó với những cách ngược lại (int đến NSDate
), không phải NSDate
đến giá trị số nguyên.
tôi đã cố gắng giải pháp như đã trả lời here nhưng rõ ràng nó trả gấp đôi, không phải là một số nguyên ...
Hoặc this nhưng điều này không thể có được System time
.
Tôi biết tôi có thể nhận được NSDate hệ thống hiện tại với:
NSDate *theDay = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone systemTimeZone] secondsFromGMT]];
Nhưng tôi không thể tìm ra cách để chuyển đổi này thành một số nguyên (hoặc dài) giá trị.
Tôi chỉ cần nhận được cùng một giá trị như chúng tôi có thể nhận được trong Java
với System.currentTimeMillis()
.
Ngoài ra, đây là lần đầu tiên tôi đặt câu hỏi tại đây trong stackoverflow. Vì vậy, hãy cho tôi biết nếu có bất kỳ điều gì tôi nên làm/không nên làm khi đăng câu hỏi tại đây, v.v.
Cảm ơn bạn.
Nó nên lưu ý rằng NSDate theo mặc định/thiết kế, liên quan đến UTC/GMT và không bao gồm thông tin múi giờ. Nếu người ta muốn thời gian "cục bộ" thì việc bổ sung múi giờ (được chia tỷ lệ thích hợp thành giây hoặc mili giây) phải được thêm vào. –
@HotLicks: Cũng cần lưu ý rằng 'System.currentTimeMillis()' (trong java) trả về thời gian trong UTC. ;-) – lnafziger
@lnafziger Cảm ơn bạn đã giải thích và giải pháp nhanh chóng và rõ ràng! Tôi thực sự đã thử điều này trước đây nhưng nó không trả lại kết quả đúng từ máy chủ PHP của chúng tôi. Tuy nhiên, tôi chạy một số thử nghiệm nhanh trong Java ngay bây giờ và tôi có thể xác nhận rằng mã của bạn trả về kết quả tương tự như currentTimeMillis của Java. Như Hot Licks đã chỉ ra, có lẽ tôi cần thêm thời gian bù đắp theo thời gian của riêng mình (vì vậy, đối với tôi thực sự không có "cách dễ dàng" để có được giá trị với múi giờ bao gồm "tự động", với dòng đơn đơn giản của phương thức). Cảm ơn cả hai đã dành thời gian đọc câu hỏi của tôi và giúp đỡ rất nhiều! –