【转】使用DateFormat把时间长度格式化为"时:分:秒"格式--不错
原文网址: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
代码如下:
- Date d = new Date();
- SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制
- System.out.println(ss.format(d));
- Date date = new Date();
- SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制
- String LgTime = sdformat.format(date);
- System.out.println(LgTime);
- //结果为
- 2008-05-28 01:32:54
- 2008-05-28 13:32:54
Android Java计算时间差
原文网址:http://www.ztyhome.com/android-java-shijiancha/
比如说:
现在是 :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把时间长度格式化为"时:分:秒"格式--不错的更多相关文章
- ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)
在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...
- ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换
在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...
- ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒
我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...
- js将当前时间格式化为年-月-日 时:分:秒
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 在jqueryEasyUI界面将时间以日期加时分秒的格式显示
问题描写叙述: oracle 10G中用户表有一个字段是日期型.数据格式为yyyy-MM-dd HH:mm:ss,前端显示时仅仅能显示成yyyy-MM-dd 后面的 HH:mm:ss不显示. 经过一番 ...
- 将new Date() 格式化为 ’2018-10-11‘ 的字符串格式
function dateToString( date , format ){ if(!date) return ""; if (!Common.type.isDate(date) ...
- JS计算两个日期时间差,天 小时 分 秒格式
function diffTime(startDate,endDate) { startDate= new Date(startDate); endDate = new Date(endDate); ...
- oracle截取时间的年/月/日/时/分/秒
修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...
- C#WinForm中显示实时时间:年/月/日 时/分/秒 星期X
//加载窗体时 string weekstr = ""; private void Form22_Load(object sender, EventArgs e) { this.t ...
随机推荐
- O - 覆盖的面积 - hdu 1255(求面积)
分析:求一层的面积覆盖是非常简单的事情,不过多层面积覆盖应该怎么搞???也是比较简单的事情,只需要用两个变量记录就好了,一个记录覆盖一次的,一个记录覆盖两次的,就很容易解决了 ************ ...
- React Native 初识
Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架 React Native,本中文教程翻译自 React Native 官方文档. Rea ...
- tomcat端口占用后的解决办法
学 习网页设计的同学都会用到tomcat这个软件,在安装的时候我们一般都会选择端口为8080端口,这个端口一般情况下是不会有程序占用的,所以我们运行 tomcat不会出现什么问题,但是如果一旦别占用, ...
- 【iOS基础】iOS 网络请求
一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是 ...
- Cache-control
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private.no-cache.max-age.must-revalidate等,默认为private.其作用根据 ...
- 1034 - Navigation
Global Positioning System (GPS) is a navigation system based on a set of satellites orbiting approxi ...
- 论js闭包的重要性
很久没写博客了,今天发现了一个很有意思的问题,写下来分享一下 话不多说,贴前端代码: <script type="text/javascript" src="js/ ...
- Ftp实现文件同步
通常在做服务器与服务器文件.服务器与本地文件同步时通过Ftp服务实现,下面就以服务器文件和本地同步为例,介绍一下Ftp同步文件:首先建立一个Ftp站点服务,基本身份验证登陆,端口号为默认的21:Ftp ...
- 强制转https
原文:http://blog.csdn.net/wzy_1988/article/details/8549290 需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.co ...
- http://msh.baidu.com/UTWpR6wY4722
超人的计算机专业应届研究生个人简历,但企业不需要 前几天和一位做人力资源的朋友在饭店里面喝酒,聊起来大学生找工作不好找的话题.我的这个朋友对这个还真比较感兴趣,说着说着从公文包里拿出来一份简历递给我看 ...