很实用的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)

相关推荐

  • Android 判断日期是否在一年以内的算法实例

    项目中需要判断传入的日期是否在未来的一年以内,百度了一下网上没有找到好的方式,写了,方便自己和他人: int datecompareAfter = compareDate(new Date(), date); int daecompareBefore = compareDate(date, getOneYear()); if (datecompareAfter == -1 && daecompareBefore == -1) { //如果不是在一年以内,则弹出提示 } else { //在

  • 解析android中系统日期时间的获取

    复制代码 代码如下: import    java.text.SimpleDateFormat; SimpleDateFormat    formatter    =   new    SimpleDateFormat    ("yyyy年MM月dd日    HH:mm:ss     ");     Date    curDate    =   new    Date(System.currentTimeMillis());//获取当前时间     String    str    =

  • 很实用的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 stat

  • 非常实用的Android图片工具类

    本文实例为大家分享了Android图片工具类的具体代码,供大家参考,具体内容如下 import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.content.Context; import android.grap

  • Android开发中日期工具类DateUtil完整实例

    本文实例讲述了Android开发中日期工具类DateUtil.分享给大家供大家参考,具体如下: /** * 日期操作工具类. * @Project ERPForAndroid * @Package com.ymerp.android.tools * @author chenlin * @version 1.0 */ @SuppressLint("SimpleDateFormat") public class DateUtil { private static final String

  • Java日期时间类及计算详解

    目录 1. Java中与日期相关的类 1.1 java.util包 ① Date类 ② Calendar 日历类 roll 设置Calendar的容错性 set 1.2 java.time包 ① LocalDate 本地日期类 ② LocalTime 本地时间类 ③ LocalDateTime 本地日期时间类 ④ Instant 类 ⑤ Period 类 ⑥ Duration 类 2. 时间间隔计算 2.1 Period与Duration类 2.1.1 Duration 2.1.2 Period

  • Android编程实现根据不同日期计算天数差的方法

    本文实例讲述了Android编程实现根据不同日期计算天数差的方法.分享给大家供大家参考,具体如下: Calendar cal1 = getCalendarFromDate(mStartDate); long startTime = cal1.getTimeInMillis(); Calendar cal2 = getCalendarFromDate(mEndDate); long endTime = cal2.getTimeInMillis(); int numberOfDays = (int)

  • 简单实用的Android studio 调试技巧

    说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原来可以玩的这么牛.下面我分别一一做介绍. 条件断点(Conditional Breakpoints) 这个调试模式是我最喜欢的,简直不能再方便了,以前遇到在循环里面打断点,需要看某个条件下的值,我只能一遍遍点击,直到满足条件. 那么这个条件断点改怎么用呢,在你的断点上点击右键,就会弹出一个选择对话框,在里面的condition框里面填写上你所需要中断的

  • Android中异步类AsyncTask用法总结

    本文总结分析了Android中异步类AsyncTask用法.分享给大家供大家参考,具体如下: 最近整理笔记的时候,看到有关AsyncTask不是很理解,重新疏导了一下,有在网上找了一些资料,个人不敢独享,一并发在这里与大家共勉 这里有两种解释的方法,各有侧重点: 第一种解释: Async Task 简介: AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,这就有效地避免了使用Handler带来的麻烦 AsyncTask是抽象类.AsyncTask定义了三种泛型类型 Pa

  • JavaScript日期工具类DateUtils定义与用法示例

    本文实例讲述了JavaScript日期工具类DateUtils定义与用法.分享给大家供大家参考,具体如下: DateUtils = { patterns: { PATTERN_ERA: 'G', //Era 标志符 Era strings. For example: "AD" and "BC" PATTERN_YEAR: 'y', //年 PATTERN_MONTH: 'M', //月份 PATTERN_DAY_OF_MONTH: 'd', //月份的天数 PATT

  • java实现简单日期计算功能

    本文讲的java日期计算比较偏,用到的地方很少(比如获取今天所在周的周一或者周日,获取今天是本月的第几周...),这些方法是以前做项目遗留下来的,现在整理一下,跟大家分享. 工具类主要有一下方法: public static Date getFirstMondayOfMonth(String dateString, String dateFormat) throws Exception 获取指定月份的第一个星期一,比如2014-12 月的第一个周一是2014-12-01 public stati

  • Android文件操作工具类详解

    本文实例为大家分享了Android文件操作工具类的具体代码,供大家参考,具体内容如下 贴上我写的一个文件操作工具类,基本上覆盖了各种文件操作: 1.文件的新建.删除: 2.文件的复制: 3.获取文件扩展名: 4.文件的重命名: 5.获取某个文件的详细信息: 6.计算某个文件的大小: 7.文件大小的格式化: 8.获取某个路径下的文件列表: 9.获取某个目录下的文件列表: 10.目录的新建.删除; 11.目录的复制: 12.计算某个目录包含的文件数量: 13.计算某个目录包含的文件大小: 代码如下:

随机推荐