Android的进阶之使用时间戳计算时间差

  

本文实例为大家分享了Android使用时间戳计算时间差的具体代码,供大家参考,具体内容如下

  

因当前项目需要计算时间差,进行数据处理,所以在Csdn上找了一下,之后修修补补是可以用的,建议大家如果用到项目中的话,可能需要把老的时间戳或者时间格式存储在文件或者sp中,之后用于判断,然后进行自己的逻辑处理。

  

效应:   

 Android进阶之使用时间戳计算时间差

  

日志执行:

  

 Android进阶之使用时间戳计算时间差

  

注:这个可以自己简单封装下,比较简单。

  

MainActivity:

        包com.bakheet.effect.time;      进口android.support.v7.app.AppCompatActivity;   进口android.os.Bundle;   进口android.util.Log;   进口android.view.View;   进口android.widget.TextView;   进口android.widget.Toast;      进口java.text.ParseException;   进口java.text.SimpleDateFormat;   进口java.util.Date;      公开课MainActivity延伸AppCompatActivity {      私人SimpleDateFormat格式;   公共字符串下来;   新时期公共字符串;   私人TextView mContent;   私人TextView mCount;   私人TextView mBtnNow;   私人TextView mBtn;      @Override   保护voidtag”、“小时=" +小时);   日志。e(“标签”、“min=" +分钟);   日志。e(“标签”,“第二=" +秒);      mContent。setText(“天=" + + ",小时=" +小时+”,min=" +分钟+”,第二个=" +第二);   }捕捉(异常e) {   e.printStackTrace ();   }   }   });//获取当前的时间戳和时间转译——这里同时用存储老的时间   mBtnNow。setOnClickListener(新View.OnClickListener () {   @Override   公共空间”+ timeMillis);//将时间戳转为日期格式   字符串时间=stampToDate (timeMillis);   日志。e(“标签时间=",时间);   下来=时间;   日志。e(“标签新=",下来);   尝试{//将日期格式转回为时间戳的格式   字符串是什么=dateToStamp(时间);   日志。e(“标签="什么,);   }捕捉(ParseException e) {   e.printStackTrace ();   }      }   });//这是我的代码——主要作用与计算时间差(会用到之前我们的记录的时间,所以使用的时候,无比先执行上面的逻辑)   mCount。setOnClickListener(新View.OnClickListener () {   @Override   公共空间”+ timeMillis);   字符串时间=stampToDate (timeMillis);   日志。e(“标签时间=",时间);   新时期=时间;   日志。e(“标签新=",新时期);   尝试{//严格来讲,在使用中这里需要判断的,尤其是空的判断,这里我们使用的了试试      日期d1=format.parse(新);//当前时间   日期d2=format.parse(下来);//之前记录的时间      长diff=d1.getTime ()——d2.getTime ();//两时间差,精确到毫秒//以天数为单位取整   漫长的一天=diff/(1000 * 60 * 60 * 24);//以小时为单位取整   长时间=(diff/(60 * 60 * 1000)天* 24);//以分钟为单位取整   长最小值=((diff/(60 * 1000))天* 24 * 60个小时* 60);//以秒为单位   长秒=(diff/1000天* 24 * 60 * 60个小时* 60 *点* 60);      日志。e(“标签”,“天=" +);   日志。e(“标签”,“小时=" +小时);   日志。e(“标签”、“min=" +分钟);   日志。e(“标签”,“第二=" +秒);   mContent。setText(“天=" + + ",小时=" +小时+”,min=" +分钟+”,第二个=" +第二);   }捕捉(异常e) {//建议抛出总异常   e.printStackTrace ();   }   }   });   }/* *   *将时间转换为时间戳   */dateToStamp公共字符串(String)抛出ParseException {   SimpleDateFormat SimpleDateFormat=new SimpleDateFormat (“yyyy-MM-dd HH: mm: ss”);   日期=simpleDateFormat.parse日期(时间);   长ts=date.getTime ();   返回String.valueOf (ts);   }/* *   *将时间戳转换为时间   */公共字符串stampToDate(长timeMillis) {   SimpleDateFormat SimpleDateFormat=new SimpleDateFormat (“yyyy-MM-dd HH: mm: ss”);   日期日期=new日期(timeMillis);   返回simpleDateFormat.format(日期);   }   }   之前      

MainActivity Xml:         & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: id=癅 + id/activity_main”   android:取向=按怪薄?   android: layout_width=" match_parent "   android: layout_height=" match_parent "   工具:上下文=癱om.bakheet.effect.time.MainActivity”比;      & lt; TextView   android: layout_marginTop=" 10 dp”   android: layout_width=" match_parent "   android:填充=" 5 dp "   android: layout_height=" wrap_content "   android:文本=" csdn博友时间差算法”   android:重力="中心"   android: id=癅 + id/btn”/比;      & lt; TextView   android: layout_marginTop=" 10 dp”   android: layout_width=" match_parent "   android:填充=" 5 dp "   android: layout_height=" wrap_content "   android:重力="中心"   android:文本="当前时间”   android: id=癅 + id/btn_now”/比;      & lt; TextView   android: layout_marginTop=" 10 dp”   android: layout_width=" match_parent "   android:填充=" 5 dp "   android: layout_height=" wrap_content "   android:重力="中心"   android: id=癅 + id/计数”   android:文本="新老时间计算”/比;   & lt; TextView   android: layout_marginTop=" 10 dp”   android: layout_width=" match_parent "   android:填充=" 5 dp "   android: layout_height=" wrap_content "   android:重力="中心"   android: id=癅 + id/内容”   android:文本=" "/比;   & lt;/LinearLayout>   

Android的进阶之使用时间戳计算时间差