2012-01-25 29 views
8

Tôi đang nhận dữ liệu chứa một số nhất định.Nhận dữ liệu trong vài giây, muốn tính giờ, phút & giây

Tôi cần tìm bao nhiêu giờ, phút và giây.

ví dụ:

Tôi nhận được số 248 có nghĩa là:

00 giờ: 04 phút: 08 giây

Bất kỳ ý tưởng sẽ được thực sự apprieciated!

+0

khó hiểu .. có vẻ như quy tắc đặc biệt bạn cần triển khai. – JoxTraex

Trả lời

11

Xác định giờ, phút và giây như thế này:

int hours = (int) (time/3600); 
int minutes = ((int) (time/60)) % 60; 
int seconds = time % 60; 

Ngoài ra, bạn có thể xác định phút như thế này một khi bạn biết giờ:

int minutes = (int) ((time - hours * 3600)/60)); 
+0

sàn là gì? – Pisti

+0

Đừng bận tâm, tôi đã biến nó thành Java –

+0

FYI, tầng nghĩa là 'làm tròn xuống số nguyên gần nhất', giống như số '(int)' trong Java. Ngoài ra còn có một hàm 'Math.floor()' trả về 'double'. –

1

bạn phải xác định trước, cách số này được tạo, ví dụ: tại sao nó không thể đứng cho

00 giờ, 02 phút và 48 sseconds

+0

Tôi biết cho một thực tế tính toán được dựa trên SECONDS, vì vậy nó phải là 00:04:08 – Pisti

+0

ahh, xin lỗi, sau đó câu trả lời từ "móng tay" là một trong những quyền :). lấy làm tiếc. mặc dù bạn có thể muốn có số phút <60, vì vậy bạn cũng cần sử dụng "%" trong vài phút. – Martin

+0

Heh tôi đã có cùng lúc đầu tiên. Ngay cả loại bỏ một bình luận vô nghĩa cho rằng :-) –

3

Bạn cần phải thêm nó vào milisec. Giống như 248 * 1000; Sau đó Ngày d = Ngày mới (248 * 1000); Và bạn sẽ có đối tượng dữ liệu. d.getHours(). ví dụ: bạn cũng có thể sử dụng SimpleDateFormat. Mà có thể định dạng dữ liệu với một số mẫu và xuất nó thành chuỗi Giống như yyyy-MM-hh HH: mm

+0

Cách tiếp cận tốt đẹp, hãy để các thư viện chuẩn thực hiện công việc. –

Các vấn đề liên quan