「计算日期java」计算日期之间天数公式

博主:adminadmin 2022-11-29 01:28:07 48

今天给各位分享计算日期java的知识,其中也会对计算日期之间天数公式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java程序中日期计算

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

[java] view plaincopy

//伪代码

long startTime=System.currentTimeMillis(); //获取开始时间

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

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

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

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

[java] view plaincopy

//伪代码

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

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

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

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

(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月。

扩展资料

其他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(days365){

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

}else{

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

}

}

}

输出的结果如下:

month=12

day=31

第365天

参考资料:百度百科-Scanner

参考资料:百度百科-java

Java 写个程序计算日期

import java.util.Calendar;

import java.util.GregorianCalendar;

public class MyDate {

public static void main(String[] args) {

Calendar date = Calendar.getInstance();

System.out.println(date.getTime());

System.out.println("....................................");

System.out.println("当前年份:" + date.get(Calendar.YEAR) + " 年");

System.out.println("当前月份:" + (date.get(Calendar.MONTH) + 1) + " 月");

System.out.println("当前日期:" + date.get(Calendar.DATE) + " 日");

System.out.println("....................................");

System.out.println("小时:" + date.get(Calendar.HOUR) + " " + (date.get(Calendar.AM_PM) == 0 ? "PM" : "AM"));

System.out.println("小时:" + date.get(Calendar.HOUR_OF_DAY));

System.out.println("分钟:" + date.get(Calendar.MINUTE));

System.out.println("秒:" + date.get(Calendar.SECOND));

System.out.println("毫秒:" + date.get(Calendar.MILLISECOND));

System.out.println("....................................");

System.out.println(getWeekStr(date.get(Calendar.DAY_OF_WEEK)));

System.out.println("当前月份的第 " + date.get(Calendar.DAY_OF_MONTH) + " 天");

System.out.println("当前年份的第 " + date.get(Calendar.DAY_OF_YEAR) + " 天");

System.out.println("....................................");

boolean b = ((GregorianCalendar) date).isLeapYear(date.get(Calendar.YEAR));

if (b) {

System.out.println("闰年");

} else {

System.out.println("平年");

}

}

// 判断是否是闰年,是返回true,否则返回false

public static boolean isLeanYear(int year) {

boolean falg = false;

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

falg = true;

}

return falg;

}

public static String getWeekStr(int num) {

switch (num) {

case 1:

return "星期 日";

case 2:

return "星期一 ";

case 3:

return "星期 二 ";

case 4:

return "星期三 ";

case 5:

return "星期 四";

case 6:

return "星期 五 ";

case 7:

return "星期六 ";

}

return "";

}

}

java中如何计算出两个日期之间相差多少天

思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:

public static void main(String[] args) throws ParseException {

String date1="1987-01-01";

String date2="2010-01-01";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

Date d1=sdf.parse(date1);

Date d2=sdf.parse(date2);

long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);

System.out.println("1987-01-01 与 2010-01-01 相隔 "+daysBetween+" 天");

}

运行结果如下:

扩展资料:

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

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行

例如:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。

注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

以上实例编译运行结果如下:

当前时间为: 2018-09-14 10:16:34

参考资料:

Java官方API接口-Date

菜鸟教程-Java 日期时间

计算日期java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于计算日期之间天数公式、计算日期java的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。