DateUtil.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex10_03;
  2. import java.text.ParseException;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class DateUtil
  6. {
  7.   /* 传入日期如20090101及周期、格式字符串如yyyyMMdd返回下次日期 */
  8.   public static String getNextDate(String date, int period,
  9.       String format)
  10.   {
  11.     int mYear = Integer.parseInt(date.substring(0, 4));
  12.     int mMonth = Integer.parseInt(date.substring(4, 6));
  13.     int mDay = Integer.parseInt(date.substring(6, 8));
  14.     java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
  15.         format);
  16.     String nextDate = "";
  17.     Calendar calendar = Calendar.getInstance();
  18.     calendar.set(mYear, mMonth - 1, mDay);
  19.     calendar.add(Calendar.DAY_OF_YEAR, period);
  20.     nextDate = sdf.format(calendar.getTime());
  21.     return nextDate;
  22.   }
  23.   /* 计算两个日期所差的天数 */
  24.   public static int computerDiffDate(long date1, long date2)
  25.   {
  26.     Calendar calendar1 = Calendar.getInstance();
  27.     calendar1.setTimeInMillis(date1);
  28.     Calendar calendar2 = Calendar.getInstance();
  29.     calendar2.setTimeInMillis(date2);
  30.     /* 先判断是否同年 */
  31.     int y1 = calendar1.get(Calendar.YEAR);
  32.     int y2 = calendar2.get(Calendar.YEAR);
  33.     int d1 = calendar1.get(Calendar.DAY_OF_YEAR);
  34.     int d2 = calendar2.get(Calendar.DAY_OF_YEAR);
  35.     int maxDays = 0;
  36.     int day = 0;
  37.     if (y1 - y2 > 0)
  38.     {
  39.       maxDays = calendar2.getActualMaximum(Calendar.DAY_OF_YEAR);
  40.       day = d1 - d2 + maxDays;
  41.     }
  42.     else if (y1 - y2 < 0)
  43.     {
  44.       maxDays = calendar1.getActualMaximum(Calendar.DAY_OF_YEAR);
  45.       day = d1 - d2 - maxDays;
  46.     }
  47.     else
  48.     {
  49.       day = d1 - d2;
  50.     }
  51.     return day;
  52.   }
  53.   /* 传入日期如20090101返回日期的long值 */
  54.   public static long getDateTime(String strDate)
  55.   {
  56.     return getDateByFormat(strDate, "yyyyMMdd").getTime();
  57.   }
  58.   /* 传入日期的long值及格式字符串如yyyyMMdd */
  59.   public static String getDateTime(String format, long millis)
  60.   {
  61.     java.util.Calendar calendar = java.util.Calendar.getInstance();
  62.     calendar.setTimeInMillis(millis);
  63.     java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
  64.         format);
  65.     return (sdf.format(calendar.getTime()));
  66.   }
  67.   public static Date getDateByFormat(String strDate, String format)
  68.   {
  69.     java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
  70.         format);
  71.     try
  72.     {
  73.       return (sdf.parse(strDate));
  74.     }
  75.     catch (ParseException e)
  76.     {
  77.       // TODO Auto-generated catch block
  78.       e.printStackTrace();
  79.       return null;
  80.     }
  81.   }
  82. }