Diễn Đàn » Hướng Dẫn Lập trình

Code tính số ngày giữa 2 giá trị ngày trong Java

0 trả lời, 571 lượt xem — Trang 1 / 1

import java.util.*;

   public class TestDate

   {

      public static void main(String args[])

      {

          /*****************************************

         **  Ví dụ gõ từ command line:

         **  java TestDate 1999 0 1 1999 8 1

          **  để lấy số ngày từ 1999-01-01 đến 1999-09-01

         **  (nhớ là tháng được đánh từ 0...)

         **/

          TestDate a = new TestDate(args);

      }

 

      TestDate(String args[])

      {

          Calendar c1 = new GregorianCalendar();;

         Calendar c2 = new GregorianCalendar();;

         //  Cần kiểm tra lỗi nhiều hơn ở đây...

          c1.set(Integer.parseInt(args[0]),

                 Integer.parseInt(args[1]) ,

                 Integer.parseInt(args[2]), 0, 0, 0);

         c2.set(Integer.parseInt(args[3]),

                 Integer.parseInt(args[4]) ,

                 Integer.parseInt(args[5]), 0, 0, 0);

         System.out.println(daysBetween(c1.getTime(),c2.getTime()) +

              " day(s) between " + args[0] + "-" + args[1] + "-" +

              args[2] + " and " + args[3] + "-" + args[4] + "-" +

              args[5]);

      }            

 

      static final long ONE_HOUR = 60 * 60 * 1000L;

      public long daysBetween(Date d1, Date d2)

      {

          return (  (d2.getTime() - d1.getTime() +

                    ONE_HOUR) / (ONE_HOUR * 24));

      }  

   }
 
Trích từ “Thủ thuật lập trình Java”
Đăng nhập để trả lời
0