老铁们,大家好,相信还有很多朋友对于j *** a计算运行时间和j *** a开始时间和结束时间的相关问题不太懂,没关系,今天就由我来为大家分享分享j *** a计算运行时间以及j *** a开始时间和结束时间的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
本文目录
一、j *** a 如何获取 *** 运行时间
*** 一:用j *** a.util.Date类来实现,并结合j *** a.text.DateFor *** t类来实现时间的格式化,看下面代码:
//以下默认时间日期显示方式都是汉语语言方式
//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-1620:54:53
//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.j *** a
publi *** taticvoid *** in(String[]args){
DateFor *** td1=DateFor *** t.getDateInstance();//默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-1620:54:53)
DateFor *** td2=DateFor *** t.getDateTimeInstance();
DateFor *** td3=DateFor *** t.getTimeInstance();
DateFor *** td4=DateFor *** t.getInstance();//使用SHORT风格显示日期和时间
DateFor *** td5=DateFor *** t.getDateTimeInstance(DateFor *** t.FULL,DateFor *** t.FULL);//显示日期,周,时间(精确到秒)
DateFor *** td6=DateFor *** t.getDateTimeInstance(DateFor *** t.LONG,DateFor *** t.LONG);//显示日期。时间(精确到秒)
DateFor *** td7=DateFor *** t.getDateTimeInstance(DateFor *** t.SHORT,DateFor *** t.SHORT);//显示日期,时间(精确到分)
DateFor *** td8=DateFor *** t.getDateTimeInstance(DateFor *** t.MEDIUM,DateFor *** t.MEDIUM);//显示日期,时间(精确到分)
Stringstr8=d8.for *** t(now);//与SHORT风格相比,这种方式更好用
System.out.println("用Date方式显示时间:"+now);//此 *** 显示的结果和Calendar.getInstance().getTime()一样
System.out.println("用DateFor *** t.getDateInstance()格式化时间后为:"+str1);
System.out.println("用DateFor *** t.getDateTimeInstance()格式化时间后为:"+str2);
System.out.println("用DateFor *** t.getTimeInstance()格式化时间后为:"+str3);
System.out.println("用DateFor *** t.getInstance()格式化时间后为:"+str4);
System.out.println("用DateFor *** t.getDateTimeInstance(DateFor *** t.FULL,DateFor *** t.FULL)格式化时间后为:"+str5);
System.out.println("用DateFor *** t.getDateTimeInstance(DateFor *** t.LONG,DateFor *** t.LONG)格式化时间后为:"+str6);
System.out.println("用DateFor *** t.getDateTimeInstance(DateFor *** t.SHORT,DateFor *** t.SHORT)格式化时间后为:"+str7);
System.out.println("用DateFor *** t.getDateTimeInstance(DateFor *** t.MEDIUM,DateFor *** t.MEDIUM)格式化时间后为:"+str8);
用Date方式显示时间: Thu Sep 17 09:39:46 CST 2015
用DateFor *** t.getDateInstance()格式化时间后为:2015-9-17
用DateFor *** t.getDateTimeInstance()格式化时间后为:2015-9-17 9:39:46
用DateFor *** t.getTimeInstance()格式化时间后为:9:39:46
用DateFor *** t.getInstance()格式化时间后为:15-9-17上午9:39
用DateFor *** t.getDateTimeInstance(DateFor *** t.FULL,DateFor *** t.FULL)格式化时间后为:2015年9月17日星期四上午09时39分46秒 CST
用DateFor *** t.getDateTimeInstance(DateFor *** t.LONG,DateFor *** t.LONG)格式化时间后为:2015年9月17日上午09时39分46秒
用DateFor *** t.getDateTimeInstance(DateFor *** t.SHORT,DateFor *** t.SHORT)格式化时间后为:15-9-17上午9:39
用DateFor *** t.getDateTimeInstance(DateFor *** t.MEDIUM,DateFor *** t.MEDIUM)格式化时间后为:2015-9-17 9:39:46
*** 二:用j *** a.util.Calendar类来实现,看下面:
//以下是利用Calendar类来实现日期时间的,和Date类相比较比较简单
publi *** taticvoid *** in(String[]args){
Calendarca=Calendar.getInstance();
intyear=ca.get(Calendar.YEAR);//获取年份
intmonth=ca.get(Calendar.MONTH);//获取月份
intday=ca.get(Calendar.DATE);//获取日
intminute=ca.get(Calendar.MINUTE);//分
intho *** =ca.get(Calendar.HOUR);//小时
intsecond=ca.get(Calendar.SECOND);//秒
intWeekOfYear=ca.get(Calendar.DAY_OF_WEEK);
System.out.println("用Calendar.getInstance().getTime()方式显示时间:"+ca.getTime());
System.out.println("用Calendar获得日期是:"+year+"年"+month+"月"+day+"日");
System.out.println("用Calendar获得时间是:"+ho *** +"时"+minute+"分"+second+"秒");
System.out.println(WeekOfYear);//显示今天是一周的第几天(我做的这个例子正好是周二,故结果显示2,如果你再周6运行,那么显示6)
用Calendar.getInstance().getTime()方式显示时间: Thu Sep 17 09:40:40 CST 2015
用Calendar获得日期是:2015年8月17日
用Calendar获得时间是:9时40分40秒
总结:中的来说, *** 二是最方便的, *** 一显得分笨拙,不过看个人喜欢了。
二、j *** a获取运行时间
1、很多朋友都想知道j *** a怎么获取运行时间?下面就一起来了解一下吧~
2、//伪代码 long startTime=System.c *** rentTimeMillis(); //获取开始时间 doSomeThing(); //测试的代码段 long endTime=System.c *** rentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms");//伪代码 long startTime=System.c *** rentTimeMillis(); //获取开始时间 doSomeThing(); //测试的代码段 long endTime=System.c *** rentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms");
3、第二种是以纳秒为单位计算的。//伪代码 long startTime=System.nanoTime(); //获取开始时间 doSomeThing(); //测试的代码段 long endTime=System.nanoTime(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ns");//伪代码 long startTime=System.nanoTime(); //获取开始时间 doSomeThing(); //测试的代码段 long endTime=System.nanoTime(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ns");
三、j *** a中如何计算出两个日期之间相差多少天
思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:
public static void *** in(String[] args) throws ParseException{
SimpleDateFor *** t sdf=new SimpleDateFor *** t("yyyy-mm-dd");
long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);
System.out.println("1987-01-01与 2010-01-01相隔"+daysBetween+"天");
J *** a使用以下三种 *** 来比较两个日期:
1、使用 getTime() *** 获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2、使用 *** before(),after()和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date(99, 2, 18))返回true。
3、使用 compareTo() *** ,它是由 Comparable接口定义的,Date类实现了这个接口。
SimpleDateFor *** t是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFor *** t允许你选择任何用户自定义日期时间格式来运行
SimpleDateFor *** t ft= new SimpleDateFor *** t("yyyy-MM-dd hh:mm:ss");
这一行代码确立了转换的格式,其中 yyyy是完整的公元年,MM是月份,dd是日期,HH:mm:ss是时、分、秒。
注意:有的格式大写,有的格式小写,例如 MM是月份,mm是分;HH是 24小时制,而 hh是 12小时制。
当前时间为: 2018-09-14 10:16:34
关于本次j *** a计算运行时间和j *** a开始时间和结束时间的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。