原文网址:http://ssd910.blog.163.com/blog/static/238767972010112214114201/

经常在系统中显示时间长度,基本上每次都是显示秒数,客户觉得按时分秒("HH:mm:ss")的格式显示比较明了,一般开发人员都是自己去计算小时是多少?分钟是多少...,其实可以用DateFormat来格式这个显示方式。示例代码如下:示例:

计算某人总的登陆时间
登陆时间是10:12:14
结束时间是15:20:35
示例代码:
  Calendar c1 = new GregorianCalendar(2007, 1, 16, 10, 12, 14);
  Calendar c2 = new GregorianCalendar(2007, 1, 16, 15, 20, 35);

SimpleDateFormat formatter= new SimpleDateFormat("HH:mm:ss");

// 设置格式化器的时区为格林威治时区,否则格式化的结果不对,中国的时间比格林威治时间早8小时,比如0点会被格式化为8:00
  formatter.setTimeZone(TimeZone.getTimeZone("GMT+0:00"));

long l = c2.getTimeInMillis() - c1.getTimeInMillis();
  System.out.println("秒数:" + l);
  System.out.println("时分秒:" + formatter.format(l));

输出结果:
毫秒数:18501000
时分秒:05:08:21

注销设置TimeZone,输出结果:
毫秒数:18501000
时分秒:13:08:21

上面的代码不能格式化年、月、日的长度,只能是时间,因为java的时间是从1970年1月1日开始的。

若需要年月日,则只能自己去年月日字段拼装,如:
        StringBuffer result = new StringBuffer();
        // 添加年-月-日,可以自己判断补0,比如年份为4位获两位,月份是两位,天数是两位
        result.append(calendar.get(Calendar.YEAR) - 1970).append("-");
        result.append(calendar.get(Calendar.MONTH)).append("-");
        result.append(calendar.get(Calendar.DAY_OF_MONTH) - 1).append(" ");

Android SimpleDateFormat转换时间 12,24时间格式

原文网址:http://blog.csdn.net/zz_mm/article/details/9302965

在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss

代码如下:

  1. Date d = new Date();
  2. SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制
  3. System.out.println(ss.format(d));
  4. Date date = new Date();
  5. SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制
  6. String LgTime = sdformat.format(date);
  7. System.out.println(LgTime);
  8. //结果为
  9. 2008-05-28 01:32:54
  10. 2008-05-28 13:32:54

Android Java计算时间差

原文网址:http://www.ztyhome.com/android-java-shijiancha/

Android开发或者Java学习中,经常要求两个时间差

比如说:

现在是 :2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

这前后时间可能是机器生成的,也可能是人工输入的,那么我们可以通过下面代码来实现

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2  
3 try
4 {
5    Date d1 = df.parse("2004-03-26 13:31:40");
6    Date d2 = df.parse("2004-01-02 11:30:24");
7    long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别
8  
9    long days = diff / (1000 * 60 * 60 * 24);
10    long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);
11    long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);
12  
13    System.out.println(""+days+"天"+hours+"小时"+minutes+"分");
14 }
15 catch (Exception e)
16 {
17 }

在Android开发中,你可能需要记录系统运行的时间长度,那么你可以在系统启动时记录下时间,然后在你想结束的时候再记录一次时间,两次时间记录值作差。具体可参考Java、Android超精确测量代码执行时间
得到的差值也是微秒级别的,利用类似的方法,得到秒、分、时、天即可。

【转】使用DateFormat把时间长度格式化为"时:分:秒"格式--不错的更多相关文章

  1. ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  2. ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  3. ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒

    我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...

  4. js将当前时间格式化为年-月-日 时:分:秒

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 在jqueryEasyUI界面将时间以日期加时分秒的格式显示

    问题描写叙述: oracle 10G中用户表有一个字段是日期型.数据格式为yyyy-MM-dd HH:mm:ss,前端显示时仅仅能显示成yyyy-MM-dd 后面的 HH:mm:ss不显示. 经过一番 ...

  6. 将new Date() 格式化为 ’2018-10-11‘ 的字符串格式

    function dateToString( date , format ){ if(!date) return ""; if (!Common.type.isDate(date) ...

  7. JS计算两个日期时间差,天 小时 分 秒格式

    function diffTime(startDate,endDate) { startDate= new Date(startDate); endDate = new Date(endDate); ...

  8. oracle截取时间的年/月/日/时/分/秒

    修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...

  9. C#WinForm中显示实时时间:年/月/日 时/分/秒 星期X

    //加载窗体时 string weekstr = ""; private void Form22_Load(object sender, EventArgs e) { this.t ...

随机推荐

  1. linux命令-查看当前目录下所有文件的大小:“ll -h”

    //ll -h 命令只会显示文件的大小,而文件夹及其子目录或文件的大小不会显示.[root@hadoop01 soft]# ll -h total 2.1G -rw-r--r--. 1 root ro ...

  2. [原创作品] web项目构建(一)

    今天开始,将推出web项目构建教程,与<javascript精髓整理篇>一并更新.敬请关注. 这篇作为这一系列开头,主要讲述web项目的构建技术大全.在众多人看来,web前端开发无非就是写 ...

  3. 【C#正则基础】正则表达式

    1. 代表任意多个字符:(.*?)2. 代表网页里的<body>*</body>任意的标签内容,替换以后网页源码就只剩纯文本:<[^>]*>3. 代表网页中的 ...

  4. [React] React Router: setRouteWillLeaveHook

    setRouteWillLeaveHook provides a method for us to intercept a route change before leaving the curren ...

  5. AJAX的概念介绍

    AJAX学习 1.XMLHttpRequest对象创建 var request= new XMLHttpRequest(); 兼容ie6.ie5 var request; if(windoe.XMLH ...

  6. C# Tips:获得当前登录计算机的用户(本地用户/域用户)

    须要using的namespace: using System.Security.Principal; 获得登录计算机的用户: WindowsIdentity windowsIdentity = Wi ...

  7. Myeclipse 中添加mysql的jdbc驱动

    打开myeclipse后单击菜单栏中的myeclipse——>preferences 然后在Myeclipse Enterprise workbench下的Java Enterprise Pro ...

  8. Ftp实现文件同步

    通常在做服务器与服务器文件.服务器与本地文件同步时通过Ftp服务实现,下面就以服务器文件和本地同步为例,介绍一下Ftp同步文件:首先建立一个Ftp站点服务,基本身份验证登陆,端口号为默认的21:Ftp ...

  9. (原创)初识cordova(一)

    在公司做项目,发现有人在做大项目使用了cordova技术.做的是昆山的项目.之前听说过phonegap,也测试过,但是感觉效率不是很好,就没怎么研究,后来看他们做的项目还不错,于是想试一试. 搭建开发 ...

  10. Selenium2学习之-环境搭建

    1.下载安装Eclipse 2.下载并配置jdk环境变量 2.1 介绍一下环境变量设置 2.1.1 点击环境变量 2.1.2 新增系统变量JAVA_HOME 变量名:JAVA_HOME 变量值:C:\ ...