当前位置:首页 » 编程语言 » java计算时间

java计算时间

发布时间: 2022-06-08 18:57:46

1. 计算java程序执行时间的几种方法

最简单的就是直接获取开始时间、结束时间,计算时间差

publicclassDemo{
publicstaticvoidmain(String[]args){
longstartTime=System.currentTimeMillis();//获取开始时间

doSomething();//测试的代码段

longendTime=System.currentTimeMillis();//获取结束时间

System.out.println("程序运行时间:"+(endTime-startTime)+"ms");//输出程序运行时间
}
}

2. java 怎么计算程序运行的时间

long a=System.currentTimeMillis();
long b=System.currentTimeMillis();
a放在程序的开始
b放在结束,然后相减即是程序运行时间

3. java整么计算时间

提供一个时间操作类给你,你可以调用里面的dateDiff方法,dateDiff(new Date(), getDateFromString("明天的字符串")表示的就是现在到明天0点之前的差距天数。

你要分钟数的话就自己改一下dateDiff,不要除以60和24就是分钟了

以下是工具类代码

importorg.apache.log4j.Logger;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;

publicclassAdDateUtil{
privatestaticLoggerlogger=Logger.getLogger(AdDateUtil.class);

staticpublicStringgetNowStr(Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
Stringnow=sdf.format(newDate());

returnnow;
}

staticpublicDategetFormatDate(Stringdate,Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
Dated=newDate();

try{
d=sdf.parse(date);
}catch(ParseExceptione){
logger.error(e);
}

returnd;
}

staticpublicStringgetDateStr(Datedate,Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
Stringd=sdf.format(date);

returnd;
}

(Strings,intsize){
StringBuffersb=newStringBuffer();

for(inti=0;i<(size-s.length());i++){
sb.append("0");
}

sb.append(s);

returnsb.toString();
}

/**
*得到某月的天数
*
*@paramyear
*@parammonth
*@return
*/
(Stringyear,Stringmonth){
Calendarcal=Calendar.getInstance();
//年
cal.set(Calendar.YEAR,Integer.parseInt(year));
//月,因为Calendar里的月是从0开始,所以要-1
cal.set(Calendar.MONTH,Integer.parseInt(month)-1);

returncal.getActualMaximum(Calendar.DAY_OF_MONTH);
}

(Stringformat){
SimpleDateFormatdf=newSimpleDateFormat(format);

Calendarnow=Calendar.getInstance();
now.roll(Calendar.DAY_OF_YEAR,-1);//昨天

returndf.format(now.getTime());
}

/**
*获取和今天附近的某天
*@paramformat
*@paramdiff
*@return
*/
staticpublicStringgetADay(Stringformat,intdiff){
SimpleDateFormatdf=newSimpleDateFormat(format);

Calendarnow=Calendar.getInstance();
intbeforeM=now.get(Calendar.MONTH);
now.roll(Calendar.DAY_OF_YEAR,diff);//

intnowM=now.get(Calendar.MONTH);

//必须进行日期处理,否则2009-01-04日前七天是2009-12-28
if(nowM>beforeM){
now.roll(Calendar.YEAR,-1);
}

returndf.format(now.getTime());
}

staticpublicStringgetTomorrow(Stringformat){
SimpleDateFormatdf=newSimpleDateFormat(format);

Calendarnow=Calendar.getInstance();
now.roll(Calendar.DAY_OF_YEAR,1);//明天

returndf.format(now.getTime());
}

/**
*得到最近num天的全部日期
*说明:
*1.日期是从昨天开始算的.
*2.如果num=2,日期是2008-03-14,则返回的结果为2008-03-12、2008-03-13
*@paramnum
*@return
*/
publicstaticString[]getDaysByNum(intnum,Stringdate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
String[]result={};
Calendarcal=Calendar.getInstance();
cal.setTime(getDateFromString(date,"yyyy-MM-dd"));

//最近一周
result=newString[num];

for(inti=num;i>0;i--){
cal.add(Calendar.DAY_OF_YEAR,-1);
result[i-1]=sdf.format(newDate(cal.getTimeInMillis()));
}

returnresult;
}

(StringdateStr,Stringformat){
if((dateStr==null)||(format==null)){
try{
thrownewException("数据类型异常"+dateStr+"|"+format);
}catch(Exceptione){
logger.error("数据类型异常:"+e);
}
}

SimpleDateFormatdf=newSimpleDateFormat(format);
Datedate;

try{
date=df.parse(dateStr);

returndate;
}catch(Exceptionex){
logger.error(ex);

returnnewDate();
}
}

staticpublicintgetNowYear(){
Calendarcal=Calendar.getInstance();

returncal.get(Calendar.YEAR);
}

staticpublicintgetNowMonth(){
Calendarcal=Calendar.getInstance();

returncal.get(Calendar.MONTH)+1;
}

publicstaticString[]getMonthRang(Stringyear,Stringmonth){
StringbeginDate=year+"-"+month+"-01";
StringendDate=year+"-"+month+"-"+
getDayCountOfMonth(year,month);

returngetDaysByRang(beginDate,endDate);
}

publicstaticString[]getDaysByRang(StringbeginDate,StringendDate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

//得到两个日期间相差多少天
intnum=dateDiff(beginDate,endDate);

if(num<0){
//颠倒一下日期
Stringtmp=beginDate;
beginDate=endDate;
endDate=tmp;
num=0-num;
}

String[]result={};
Calendarcal=Calendar.getInstance();

try{
cal.setTime(sdf.parse(beginDate));
}catch(ParseExceptione){
e.printStackTrace();
}

num=num+1;//把开始和结束日期都包含进去

result=newString[num];

for(inti=0;i<num;i++){
if(i>0){
cal.add(Calendar.DAY_OF_YEAR,1);
}

result[i]=sdf.format(newDate(cal.getTimeInMillis()));
}

returnresult;
}

publicstaticintdateDiff(StringbeginDate,StringendDate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
Datedate=null;

try{
date=sdf.parse(endDate);
}catch(ParseExceptione){
date=newDate();
e.printStackTrace();
}

longend=date.getTime();

try{
date=sdf.parse(beginDate);
}catch(ParseExceptione){
date=newDate();
e.printStackTrace();
}

longbegin=date.getTime();

longday=(end-begin)/(1000*3600*24);//除1000是把毫秒变成秒

returnInteger.parseInt(Long.toString(day));
}

publicstaticvoidmain(String[]args){
System.out.println(AdDateUtil.getADay("yyyy-MM-dd",-7));
}
}

4. java 计算两个时间相差多少秒

java 计算两个时间相差可以用getTime()来获得两个时间的毫秒数,可以这样计算得出两个时间的秒数的相差如下:

Datea=newDate();

Thread.sleep(3000);

Dateb=newDate();

longinterval=(b.getTime() -a.getTime())/1000;

System.out.println("两个时间相差"+interval+"秒").

5. java计算时间

可以这么写:


publicstaticvoidcompute(){
Scannerscanner=newScanner(System.in);
inttime1,time2,hours,minutes;
time1=scanner.nextInt();
time2=scanner.nextInt();
Stringt1=String.valueOf(time1);
Stringt2=String.valueOf(time2);
//开始时间的小时
intt1_hour=Integer.parseInt(t1.substring(0,t1.length()-2));
//结束时间的小时
intt2_hour=Integer.parseInt(t2.substring(0,t2.length()-2));
//开始时间的分钟
intt1_minute=Integer.parseInt(t1.substring(t1.length()-2));
//结束时间的分钟
intt2_minute=Integer.parseInt(t2.substring(t2.length()-2));
//时间差的小时
hours=((t2_hour*60+t2_minute)-(t1_hour*60+t1_minute))/60;
//时间差的分钟
minutes=((t2_hour*60+t2_minute)-(t1_hour*60+t1_minute))%60;
System.out.println("Thetrainjourneytimeis"+hours+"hrs"+minutes+"mins.");
scanner.close();
}

6. java程序中日期计算

第一种是以毫秒为单位计算的。

[java] view plain
//伪代码
long startTime=System.currentTimeMillis(); //获取开始时间
doSomeThing(); //测试的代码段
long endTime=System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ms");

第二种是以纳秒为单位计算的。

[java] view plain
//伪代码
long startTime=System.nanoTime(); //获取开始时间
doSomeThing(); //测试的代码段
long endTime=System.nanoTime(); //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ns");

7. Java计算两个日期时间相差几天,几小时,几分钟等

思路是先计算两个日期相差的毫秒数,然后分别根据每天的毫秒数、每小时的毫秒数、每分钟的毫秒数来计算相差几天,几小时,几分钟。具体代码如下:

public static String getDatePoor(Date endDate, Date nowDate) {

long nd = 1000 * 24 * 60 * 60;//每天毫秒数

long nh = 1000 * 60 * 60;//每小时毫秒数

long nm = 1000 * 60;//每分钟毫秒数

long diff = endDate.getTime() - nowDate.getTime();// 获得两个时间的毫秒时间差异

long day = diff / nd; // 计算差多少天

long hour = diff % nd / nh;// 计算差多少小时

long min = diff % nd % nh / nm; // 计算差多少分钟

return day + "天" + hour + "小时" + min + "分钟";

}

然后做一个测试,调用这个方法测试一下:

可以看出两个日期时间相差几天,几小时,几分钟都可以算出来。

(7)java计算时间扩展阅读:

Java使用以下三种方法来比较两个日期:

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 类实现了这个接口。

8. java如何计算程序运行时间

第一种是以毫秒为单位计算的。

[java]view plain

//伪代码

longstartTime=System.nanoTime();//获取开始时间

doSomeThing();//测试的代码段

longendTime=System.nanoTime();//获取结束时间

System.out.println("程序运行时间:"+(end-start)+"ns");

包含所需的包: import java.lang.System;

9. (JAVA)输入年月日,计算日期是今年的第几天

import java.util.Scanner;

/**

* Created by xpf on 2018/6/22 :)

* GitHub:xinpengfei520

* Function:

*/

public class CalculateUtils {

/*平年二月28天*/

private static final int DAYS_28 = 28;

/*闰年二月29天*/

private static final int DAYS_29 = 29;

/*除了31天的月份其他均为30天*/

private static final int DAYS_30 = 30;

/*1、3、5、7、8、10、12月份31天*/

private static final int DAYS_31 = 31;

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("Please input year:");

int year = input.nextInt();

System.out.println("Please input month:");

int month = input.nextInt();

System.out.println("Please input day:");

int day = input.nextInt();

int daysInYear = getDaysInYear(year, month, day);

System.out.println("daysInYear:" + daysInYear);

}

/**

* get days in this year

*

* @param year

* @param month

* @param day

* @return

*/

public static int getDaysInYear(int year, int month, int day) {

int totalDays = 0;

switch (month) {

// 12 月份加的是11月份的天数,依次类推

case 12:

totalDays += DAYS_30;

case 11:

totalDays += DAYS_31;

case 10:

totalDays += DAYS_30;

case 9:

totalDays += DAYS_31;

case 8:

totalDays += DAYS_31;

case 7:

totalDays += DAYS_30;

case 6:

totalDays += DAYS_31;

case 5:

totalDays += DAYS_30;

case 4:

totalDays += DAYS_31;

case 3:

// 判断是否是闰年

if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {

totalDays += DAYS_29;

} else {

totalDays += DAYS_28;

}

case 2:

totalDays += DAYS_31;

case 1: // 如果是1月份就加上输入的天数

totalDays += day;

}

return totalDays;

}

}

【解题思路】

1、通过年份区分是闰年还是平年,平年 2 月 28 年,闰年 2 月 29 天。

2、1、3、5、7、8、10、12 月份为 31 天,其余月份为 30 天。

3、将每个月的天数相加即可,如果输入的是 12 月,则从 11 月往前累加到1月。

(9)java计算时间扩展阅读

其他java计算日期的方式

package study01;

import java.util.Scanner;

public class TestDay {

/*

* 输入2017年的月和日:month=?,day=? 输出输入的日期是2017年的第几天,使用switch完成

*/

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("month=");

int month = sc.nextInt();

System.out.print("day=");

int day = sc.nextInt();

int days = 0;

switch (month) {

case 12:

days += 30;

case 11:

days += 31;

case 10:

days += 30;

case 9:

days += 31;

case 8:

days += 31;

case 7:

days += 30;

case 6:

days += 31;

case 5:

days += 30;

case 4:

days += 31;

case 3:

days += 28;

case 2:

days += 31;

case 1:

days += day;

}

if(days>365){

System.out.println("你输入的已经超过了365天了");

}else{

System.out.println("第" + days + "天");

}

}

}

输出的结果如下:

month=12

day=31

第365天

10. java中计算两个时间相差多少分钟

java中计算两个时间相差多少分钟

具体代码如下:

public static String getDatePoor(Date endDate, Date nowDate) {

long nd = 1000 * 24 * 60 * 60;

long nh = 1000 * 60 * 60;

long nm = 1000 * 60;

// long ns = 1000;

// 获得两个时间的毫秒时间差异

long diff = endDate.getTime() - nowDate.getTime();

// 计算差多少天

long day = diff / nd;

// 计算差多少小时

long hour = diff % nd / nh;

// 计算差多少分钟

long min = diff % nd % nh / nm;

// 计算差多少秒//输出结果

// long sec = diff % nd % nh % nm / ns;

return day + "天" + hour + "小时" + min + "分钟";

}

data默认有toString()

输出格林威治时间,比如说Date date = new Date();

String toStr = date.toString();

(10)java计算时间扩展阅读:

  1. Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。

  2. 用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。

  3. 从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。

  4. Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:633
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:362
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:78
php微信接口教程 发布:2025-04-16 17:07:30 浏览:303
android实现阴影 发布:2025-04-16 16:50:08 浏览:789
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:339
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:206
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:806
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:360
土压缩的本质 发布:2025-04-16 16:13:21 浏览:586