java中关于时间的格式化
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中关于时间的格式化的更多相关文章
- JAVA中的时间操作
java中的时间操作不外乎这四种情况: 1.获取当前时间 2.获取某个时间的某种格式 3.设置时间 4.时间的运算 好,下面就针对这四种情况,一个一个搞定. 一.获取当前时间 有两种方式可以获得,第一 ...
- Java中日期时间API小结
Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...
- Java中的时间日期处理
程序就是输入——>处理——>输出.对数据的处理是程序员需要着重注意的地方,快速.高效的对数据进行处理时我们的追求.其中,时间日期的处理又尤为重要和平凡,此次,我将把Java中的时间日期处理 ...
- Java中的时间处理
日期时间组件使用 java.util.Date:实现类,其对象具有时间.日期组件.java.util.Calendar:抽象类,其对象具有时间.日期组件.java.sql.Date:实现类,其对象具有 ...
- 1 Java中的时间类型
总结:sql中的时间转 util的时间直接赋值即可:反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式. 1 Java中的时间类型 java.sql包下给出三个与数据 ...
- java中各种时间格式的转化
http://www.chinaitpower.com/A/2005-01-14/104881.html 使用java.util.Calendar返回间隔天数 static int g ...
- Java中六大时间类的使用和区别
关于java中六个时间类的使用和区别 java.util.Date java.sql.Date java.sql.Time java.sql.Timestamp java.text.SimpleD ...
- Java中关于时间日期格式保存到mysql的问题
首先在设置数据库的时间日期字段的时候要先确定好采用何种类型,DATETIME. TIMESTAMP.DATE.TIME.YEAR. 其中datetime.time用的比较多,对应java中生成的poj ...
- MVC中的时间js格式化
记录下我遇到的一个,MVC中post请求返回一个JSON字符串,其中包含数据库中的时间格式(如:/Date(10000000000)/),不知道怎么处理.百度的方法都不适用,经自己研究,做成了一个Jq ...
随机推荐
- htmlparser源码简单分析
Htmlparser源代码分析 一.根目录下的类 1.Attribute.java 属性类,四个field:mName,mAssignment,mValue,mQuote; 空白标签时:mName=n ...
- C# word开发
c# 操作Word总结 在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中, ...
- MVC3系列~Html.BeginForm与Ajax.BeginForm
Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步 ...
- spring--注解注入--12
12.1 概述 12.1.1 什么是零配置 在SSH集成一章中大家注意到项目结构和包结构是不是很有规律,类库放到WEB-INF/lib文件夹下,jsp文件放到WEB-INF/jsp文件夹下,web ...
- ios 设备震动
使得iOS设备震动有两个方法,均是传入kSystemSoundID_Vibrate常量. AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); Au ...
- 【CSS3】Advanced5:At Rules:@import, @media, and @font-face
1.@import bolt another stylesheet onto your existing one. @import url(**.css); must be placed at the ...
- HDU1075 - What Are You Talking About(Trie树)
题目大意 给定一些火星文单词以及对应的英语单词,然后给你一些火星文,要求你翻译成对应的英文 题解 第一次写Trie树! 把所有火星文单词插入到Trie树中,并且每个火星文单词结尾的节点记录相应英文单词 ...
- Web Services and C# Enums -摘自网络
Web Service Transparency .NET support for web services is excellent in creating illusion of transpar ...
- HDU 1102 Constructing Roads (最小生成树)
最小生成树模板(嗯……在kuangbin模板里面抄的……) 最小生成树(prim) /** Prim求MST * 耗费矩阵cost[][],标号从0开始,0~n-1 * 返回最小生成树的权值,返回-1 ...
- iOS开发:UIImageView常用操作
UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImage ...