long time = System.currentTimeMillis();
SimpleDateFormat format = new SimpleDateFormat();
String s = format.format(time);
System.out.println(s);

这是最简单地格式化方法,打印出来的,

16-1-3 下午4:38

而这是我系统的时间。

当我把系统时间换了,系统打印出来的时间也换了,

16-1-3 下午4:35

至于这么显示,有太多的方法去格式化了。

java api给我们提供了这么一个实现类SimpleDateFormat,上面有一个DateFormat抽象类也可以想些办法的。

另外关于时间计算的类,在spring-framework里面提供了stopwatch类,相当于一个秒表的类,比较方便。

还有一个关于时间调度的框架Quartz,比较复杂,一般在javaweb开发中用到。

Timer 类,这个是java.util包下面,用于时间任务的一个类,相比线程池,这个只有一个线程,而且进行了同步锁,所以是线程安全的。

不用自己进行同步管理。

需要注意的是,在构造函数中,可能有一个boolean的值得填写,这个是关于守护线程的,守护线程通俗意义上讲,在android应用中,如果这个Activity的生命周期结束了,上下文没有了,那么这个守护线程也不存在了。如果没有填写,那么是正常的线程。

另外有几个延迟和定时的方法。

需要注意,当调用

Timer timer = new Timer();
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MINUTE, 5); System.out.println(new Date());
timer.scheduleAtFixedRate(new TimerTask() { @Override
public void run() {
System.out.println(new Date()+"one");
}
},cal.getTime() , 5000); timer.schedule(new TimerTask() { @Override
public void run() {
System.out.println(new Date()+"two");
}
}, cal.getTime(), 5000);

目前系统时间为10分,所以设置的时间比系统的时间要早5分钟,

执行的结果是,

Tue Jan 05 23:10:06 CST 2016
Tue Jan 05 23:10:06 CST 2016one
Tue Jan 05 23:10:06 CST 2016two
Tue Jan 05 23:10:06 CST 2016one
Tue Jan 05 23:10:06 CST 2016one
Tue Jan 05 23:10:06 CST 2016one
Tue Jan 05 23:10:06 CST 2016one
Tue Jan 05 23:10:06 CST 2016one
Tue Jan 05 23:10:06 CST 2016one

可以看到为了保证fixrate,会执行多次,来保证这个rate,所以请注意。而另一个方法只是仍然马上等5秒执行。

终止的话,可以调用cancel方法,或者调用System.exit方法

考虑效率,有时候需要加上system.gc()来主动调用垃圾回收方法。

java中关于时间的格式化的更多相关文章

  1. JAVA中的时间操作

    java中的时间操作不外乎这四种情况: 1.获取当前时间 2.获取某个时间的某种格式 3.设置时间 4.时间的运算 好,下面就针对这四种情况,一个一个搞定. 一.获取当前时间 有两种方式可以获得,第一 ...

  2. Java中日期时间API小结

    Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...

  3. Java中的时间日期处理

    程序就是输入——>处理——>输出.对数据的处理是程序员需要着重注意的地方,快速.高效的对数据进行处理时我们的追求.其中,时间日期的处理又尤为重要和平凡,此次,我将把Java中的时间日期处理 ...

  4. Java中的时间处理

    日期时间组件使用 java.util.Date:实现类,其对象具有时间.日期组件.java.util.Calendar:抽象类,其对象具有时间.日期组件.java.sql.Date:实现类,其对象具有 ...

  5. 1 Java中的时间类型

    总结:sql中的时间转 util的时间直接赋值即可:反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式. 1 Java中的时间类型 java.sql包下给出三个与数据 ...

  6. java中各种时间格式的转化

    http://www.chinaitpower.com/A/2005-01-14/104881.html 使用java.util.Calendar返回间隔天数         static int g ...

  7. Java中六大时间类的使用和区别

    关于java中六个时间类的使用和区别 java.util.Date java.sql.Date  java.sql.Time  java.sql.Timestamp java.text.SimpleD ...

  8. Java中关于时间日期格式保存到mysql的问题

    首先在设置数据库的时间日期字段的时候要先确定好采用何种类型,DATETIME. TIMESTAMP.DATE.TIME.YEAR. 其中datetime.time用的比较多,对应java中生成的poj ...

  9. MVC中的时间js格式化

    记录下我遇到的一个,MVC中post请求返回一个JSON字符串,其中包含数据库中的时间格式(如:/Date(10000000000)/),不知道怎么处理.百度的方法都不适用,经自己研究,做成了一个Jq ...

随机推荐

  1. Ubuntu 安装Chrome步骤

    一.添加PPA 从Google Linux Repository(http://www.google.com/linuxrepositories/)下载安装Key,或把下面的代码复制进终端,回车,需要 ...

  2. Eclipse反编译插件: Jodeclipse与JadClipse

    Eclipse反编译插件: Jodeclipse与JadClipse Jodeclipse 是Jode的Eclipse插件,JadClipse是Jad的Eclipse插件,它们都是非常好的反编译插件. ...

  3. 【CSS】Intermediate3:Shorthand Properties

    1.Margins and Padding property: top right bottom left; property: top/bottom right/left; 2.Border bor ...

  4. sql中用逗号拼接字符串

    MSSQL中可以用STUFF函数拼接成字符串. 如: SELECT FieldSomeElse, ( SELECT STUFF(( SELECT ',' + LinkField FROM Detail ...

  5. storm核心组件

    Storm核心组件 了解 Storm 的核心组件对于理解 Storm 原理非常重要,下面介绍 Storm 的整体,然后介绍 Storm 的核心. Storm 集群由一个主节点和多个工作节点组成.主节点 ...

  6. testlink邮件设置(centos 7)

    上一篇文章在centos 7上安装了testlink(CentOS 7下安装xampp和testlink),本篇进行邮件设置,可在进行testlink密码修改.用例指派时进行邮件通知 1.修改conf ...

  7. 【腾讯优测干货分享】如何降低App的待机内存(五)——优化dex相关内存及本章总结

    本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/01Abwe0p1h3WLh28Tzg_Dw 1.5案例:优化dex相 ...

  8. EF搜索数据自动将表名变复数问题

    原因这个是自己生成的需要在model加Table 其他博主写了aweier2011

  9. 修改sublime 侧边栏 颜色 等

    通过 Package Control 安装 PackageResourceViewer  插件 安装成功后 快捷键 ctrl+shift+p  输入 PackageResourceViewer  找到 ...

  10. JBPM学习(四):执行流程实例

    概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图. Execu ...