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. (转载)file_get_contents("php://input")

    (转载)http://taoshi.blog.51cto.com/1724747/1165499 $data = file_get_contents("php://input"); ...

  2. 多线程模式之MasterWorker模式

    多线程模式之MasterWorker模式 Master-Worker模式的核心思想是,系统由两类进程协作工作:Master进程和Worker进程.Master进程负责接收和分配任务,Worker进程负 ...

  3. 支持IE6以上阴影效果纯CSS

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. [codevs1380]没有上司的舞会

    本题地址 http://www.luogu.org/problem/show?pid=1352 http://codevs.cn/problem/1380/ 题目描述 某大学有N个职员,编号为1~N. ...

  5. 2015年9月28日JQuery提前预习预热笔记

    visual studio下载2010 2010与2008不一样,2008需要添加补丁,采用调用对象.2010可以直接用. JQuery=$ 是函数是方法是对象 念J快儿,念doler 开发人员工具( ...

  6. 经典sql(3)

    描述:有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value 表B此处为tbaley的情况:      A: tabl ...

  7. (转载)链表环中的入口点 编程之美 leecode 学习

    http://www.cnblogs.com/hiddenfox/p/3408931.html 说的很细 /** * Definition for singly-linked list. * clas ...

  8. HW5.1

    public class Solution { public static void main(String[] args) { int count = 0; for(int i = 1; i < ...

  9. ZOJ-3721 Final Exam Arrangement 贪心

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3721 容易的贪心题,排个序.. //STATUS:C++_AC_ ...

  10. Xamarin开发Android时Visual Studio 2012没有智能提示解决办法

    Most of the people who work with Xamarin’s Mono for Android in Visual Studio 2012 face a bug where I ...