Tôi đang thực hiện một số tính toán ngày trong Java bằng cách sử dụng mili giây. Tôi không có nhiều kinh nghiệm làm việc với mili giây và thậm chí không thể xác định có bao nhiêu mili giây trong một năm. Đây là nỗ lực của tôi:Java Mili giây trong năm
private static final int MILLIS_IN_SECOND = 1000;
private static final int SECONDS_IN_MINUTE = 60;
private static final int MINUTES_IN_HOUR = 60;
private static final int HOURS_IN_DAY = 24;
private static final int DAYS_IN_YEAR = 365; //I know this value is more like 365.24...
private static final long MILLISECONDS_IN_YEAR = MILLIS_IN_SECOND * SECONDS_IN_MINUTE * MINUTES_IN_HOUR * HOURS_IN_DAY * DAYS_IN_YEAR;
System.out.println(MILLISECONDS_IN_YEAR); //Returns 1471228928
Tôi biết rằng 1 năm = 31556952000 mili giây, vì vậy phép nhân của tôi bị tắt bằng cách nào đó.
Có ai có thể chỉ ra những gì tôi đang làm sai? Tôi có nên sử dụng lâu không?
Tại sao bạn không thử? Hoặc tìm kiếm giá trị tối đa của một số nguyên có dấu 32 bit là gì? –
@Dave Newton Tôi đã thử nó và mã trả về một giá trị mà tôi biết là không chính xác. Một int làm việc cho mili giây trong năm, tuy nhiên tôi tính giá trị sai. –
Có lẽ năm nhuận là không liên quan ... –