java中关于时间的格式化
2016-01-03 16:51
375 查看
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编程的Observer观察者设计模式
- openFileInput()和 openFileOutput()方法利用java流将数据存储到文件中
- java解析和生成GSON串
- Java学习----this和super(在继承中)
- java的super关键字和this指针
- springmvc(4)注解简单了解
- java17.IO操作------使用字节流读写数据
- Java回调机制(异步)
- Java学习----到底调用哪一个方法(多态)
- eclipse启动找不到javaw.exe
- 深入解析Java编程中final关键字的使用
- java的throw和throws
- Java学习----方法的覆盖
- 【LWJGL2 WIKI】【辅助库篇】Slick-Util库:第一部分-读取图片
- hibernate复合主键中为什么要复写equals和hashcode方法?还要implement Serializable?
- Java IO流文件操作
- 深入解析Java的Hibernate框架中的一对一关联映射
- 【LWJGL2 WIKI】【辅助库篇】Slick-Util库:介绍
- Thinking in Java-笔记
- springMVC笔记(一) Controller的实现和配置(一)