很实用的Android日期计算类
分享一个使用较方便的日期计算类:
package com.utils.datecount; 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar; 
public class DateCount { 
 /**
  * datelevel 0为7天内,1为7到15天,2为15天以上
  */
 public static int datelevel = 0;
 public static int positionweek = -1;
 public static int position2week = -1; 
 /**
  * 获取与今天时间差
  * @param endTime
  * @return
  */
 public static double countDate(String startTime) { 
  Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");// 输入日期的格式
  Date date = null;
   try {
    date = simpleDateFormat.parse(startTime);
    if (date == null) return 0;
   } catch (java.text.ParseException e) {
    return 0;
//    e.printStackTrace();
   }
  GregorianCalendar cal1 = new GregorianCalendar();
  GregorianCalendar cal2 = new GregorianCalendar();
  cal1.setTime(date);
  cal2.setTime(curDate);
  double dayCount = (cal2.getTimeInMillis() - cal1.getTimeInMillis()) / (1000 * 3600 * 24);// 从间隔毫秒变成间隔天数
  return dayCount;
 }
}
Android日期格式化工具类:
package com.utils.tools; 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; 
import android.text.TextUtils;
import android.text.format.DateFormat; 
/**
 * 日期格式化工具类
 *
 * @author Harryxu
 *
 */
public class DateUtil { 
 public static Date convert2Date(String format, String dateStr) {
  Date date = null;
  try {
   if (TextUtils.isEmpty(format)) format = "yyyy-MM-dd HH:mm:ss";
   return new java.sql.Date(new SimpleDateFormat(format).parse(dateStr).getTime());
  } catch (IllegalArgumentException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }
  return date;
 } 
 public static CharSequence formatDate(String format, String dateStr) {
  Date date = null;
  try {
   date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr);
  } catch (IllegalArgumentException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }
  if (date == null) date = new Date();
  if (TextUtils.isEmpty(format)) format = "yyyy-MM-dd";
  return DateFormat.format(format, date);
 } 
 /**
  * 根据偏量值取得传入时间的前后天数
  *
  * @param date
  * @param offset 时间偏量值
  * @return
  */
 public static Date getNextPreDay(Date date, int offset) {
  Calendar calendar = Calendar.getInstance();
  calendar.setTime(date);
  calendar.add(Calendar.DAY_OF_MONTH, offset);
  date = calendar.getTime();
  return date;
 } 
 public static int getDays(Date date1, Date date2) {
  Date kaishi = date1, jieshu = date2;
  if (date1.compareTo(date2) > 0) {
   kaishi = date2;
   jieshu = date1;
  } 
  long diff = jieshu.getTime() - kaishi.getTime();
  float days = diff / 24f / 60 / 60 / 1000;
  return (int) ((days - (int) days) >= 0 ? (days + 1) : days);
 } 
 public static String addMinites( String time, int addminite){
  SimpleDateFormat myFormatter = new SimpleDateFormat("HH:mm");
  Calendar totime = Calendar.getInstance();
  java.util.Date date = null;
  try {
   date = myFormatter.parse(time);
  } catch (ParseException e) {
   e.printStackTrace();
  }
  if (date == null) return null;
  totime.setTime(date);
  totime.add(Calendar.MINUTE, addminite);
  date = totime.getTime();
  return myFormatter.format(date); 
 }
} 
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
 赞 (0)
                        
