原文参考:http://www.zqunyan.com/52.html

取得当前系统时间

SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String date=sdf.format(new java.util.Date());

想要写个根据消耗时长来确定开始结束时间的小工具,发现Android处理时间上有点累,可能是我没找到合适的方法吧,先把我的解决办法贴出来,有好的解决方法还希望提醒一下:

1、根据时间字符串获取毫秒数

    private long getTimeMillis(String strTime) {
long returnMillis = ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date d = null;
try {
d = sdf.parse(strTime);
returnMillis = d.getTime();
} catch (ParseException e) {
Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_SHORT).show();
}
return returnMillis;
}

2、根据毫秒数的差值来计算时间差

  • 传入开始时间和结束时间字符串来计算消耗时长
    private String getTimeExpend(String startTime, String endTime){
//传入字串类型 2016/06/28 08:30
long longStart = getTimeMillis(startTime); //获取开始时间毫秒数
long longEnd = getTimeMillis(endTime); //获取结束时间毫秒数
long longExpend = longEnd - longStart; //获取时间差 long longHours = longExpend / ( * * ); //根据时间差来计算小时数
long longMinutes = (longExpend - longHours * ( * * )) / ( * ); //根据时间差来计算分钟数 return longHours + ":" + longMinutes;
}
  • 传入结束时间和消耗时长来计算开始时间
    private String getTimeString(String endTime, String expendTime){
//传入字串类型 end:2016/06/28 08:30 expend: 03:25
long longEnd = getTimeMillis(endTime);
String[] expendTimes = expendTime.split(":"); //截取出小时数和分钟数
long longExpend = Long.parseLong(expendTimes[]) * * * + Long.parseLong(expendTimes[]) * * ;
SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy/MM/dd HH:mm");
return sdfTime.format(new Date(longEnd - longExpend));
}

原文参考:http://www.zqunyan.com/52.html

Android计算时间差的更多相关文章

  1. Android中计算时间差的实现方法

    今天为“至简天气”增加了一项功能:在启动时根据上次更新数据的时间判断是否有必要更新数据,因为 weather.com.cn 的实况数据貌似是25分钟才会刷新一次,只有在据上次更新的时间达25分钟以上才 ...

  2. 【转载】c/c++在windows下获取时间和计算时间差的几种方法总结

    一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t time ...

  3. C#计算时间差值

    /// <summary> /// 计算时间差值 /// </summary> /// <param name="DateTime1">< ...

  4. 登录超时自动退出,计算时间差-b

    // 此方法适用于所有被创建过的controller,且当前controller生命周期存在,如有错误的地方望大神斧正 //  说一下我们的需求和实现原理,需求:在点击home键退出但没有滑飞它,5分 ...

  5. python分页和session和计算时间差

    分页 #!/usr/bin/env python # -*- coding:utf-8 -*- class Pagenation: def __init__(self,current_page,all ...

  6. js计算时间差,包括计算,天,时,分,秒

    收集两个计算时间差的计算方法代码片段: var date1=new Date(); //开始时间 var date2=new Date(); //结束时间 var date3=date2.getTim ...

  7. datetime 计算时间差

    计算时间差: .date()       # 格式化 .timedelta()         # 时间差 import datetime # 今天 today = datetime.datetime ...

  8. excel计算时间差值

    excel计算时间差值 2018/10/1 10:59:00 减去 2018/9/21 1:05:13 获取 多少天. 如1.2天.这种. ==

  9. 关于js中的时间——计算时间差等

    获取当前(系统)时间: var NowDate= new Date(); // 获取当前日期时间 // 输出为: Wed May 03 2017 14:52:08 GMT+0800 (中国标准时间) ...

随机推荐

  1. 扩展spring data jpa的数据更新方法时注意事项

    //此处必须加@Transactional,否则不能运行,报错 @Transactional @Modifying @Query("update ExamItem a set a.versi ...

  2. 华为 1.static有什么用途?(请至少说明两种)

    1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问 ...

  3. SciTE 文本编辑器

    个人一直使用,强大,轻型基于 Scintilla. http://www.scintilla.org/SciTEDownload.html 解压缩后,能右键文件打开 修改注册表, 使能资源管理器 右键 ...

  4. HBase之表空间

    1.介绍 在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分.Apache HBase从0.98.0, 0.95.2两个版本开始支 ...

  5. redis+tomcat+nginx session共享

    http://www.cnblogs.com/zhrxidian/p/5432886.html系列课程 简洁明了 http://blog.csdn.net/grhlove123/article/det ...

  6. git tag之后如何修改

    先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了. 但是这时候 git 可能会提示你当前处于一个“detached HEAD&quo ...

  7. Unity 5 中的全局光照技术详解(建议收藏)

    本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING (文章较长,请耐心阅读)简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法, ...

  8. 【CITE】C#默认以管理员身份运行程序实现代码

    //用于一种情况:C#软件打包后,在读写C盘文件时,会出现权限问题.使用管理员身份才可以运行 using System; using System.Collections.Generic; using ...

  9. selenium+python笔记2

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 操作浏览器 """ fro ...

  10. python中time模块的用法

    import time tick = time.time() # 返回从12:00am, January 1, 1970(epoch) 开始的记录的当前操作系统时间 present = time.lo ...