Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有一个库函数可以在变量中为我提供当前日期,并查找自给定日期起经过的天数_Java_Date_Calendar - Fatal编程技术网

Java 是否有一个库函数可以在变量中为我提供当前日期,并查找自给定日期起经过的天数

Java 是否有一个库函数可以在变量中为我提供当前日期,并查找自给定日期起经过的天数,java,date,calendar,Java,Date,Calendar,我想得到变量的当前日期和时间 int d,m,y,h,s; 到目前为止,我已经为Date创建了一个类,它可以让用户输入日期,并检查日期的有效性,但我不确定如何获得从那时起经过的天数以及当前日期 我的上课日期-> import ShortHand.*; public class Date { public static char[] digits={'0','1','2','3','4','5','6','7','8','9'}; int d=0,m=0,y=0; pu

我想得到变量的当前日期和时间

 int d,m,y,h,s;
到目前为止,我已经为Date创建了一个类,它可以让用户输入日期,并检查日期的有效性,但我不确定如何获得从那时起经过的天数以及当前日期

我的上课日期->

import ShortHand.*;
public class Date {
    public static char[] digits={'0','1','2','3','4','5','6','7','8','9'};
    int d=0,m=0,y=0;
    public int getD() {
        return d;
    }
    public int getM() {
        return m;
    }
    public int getY() {
        return y;
    }
    public Date(int dd,int mm,int yy)
    {
        if (checkDate(dd,mm,yy)==false)
            throw new IllegalArgumentException("Invalid Date");
        this.d=dd;
        this.m=mm;
        this.y=yy;
    }   
    public static boolean checkDate(int d,int m,int y)
    {
        if (m<1||d<1||y<1)
            return false;
        if (m>12)
            return false;
        if (m==2&&checkLeap(y)&&d>29)
            return false;
        if (m==2&&!(checkLeap(y))&&m>28)
            return false;
        if ((m==1||m==3||m==5||m==7||m==8||m==10||m==12)&&d>31)
            return false;
        if ((m==4||m==6||m==8||m==11)&&d>30)
            return false;
        return true;
    }
    public static boolean checkLeap(int y)
    {
        if (y%100!=0)
        {
            if (y%4==0)
                return true;
        }
        else if (y%400==0)
            return true;
        return false;
    }
    public static Date takeIn(String msg)throws java.io.IOException
    {
        int d,m,y;
        while(true)
        {
            boolean f=true;
            u.pln(msg+"[dd-mm-yyyy]");
            String in=u.iBs();
            if (in.length()!=10)
            {
                u.pln("Please Enter a Valid Date");
                continue;
            }
            for (int i=0;i<10;i++)
            {
                if (i!=2&&i!=5)
                {
                    if (Arr.check(in.charAt(i), digits)==false)
                    {
                        u.pln("Invalid Input");
                        f=false;
                        break;
                    }
                }
            }
            if (f==false)
                continue;
            String t=in.substring(0,2);
            d=Integer.parseInt(t);
            t=in.substring(3,5);
            m=Integer.parseInt(t);
            t=in.substring(6);
            y=Integer.parseInt(t);
            if (checkDate(d,m,y))
                break;
        }
        return new Date(d,m,y);
    }
    @Override
    public String toString() {
        return this.d+"/"+this.m+"/"+this.y;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        Date other = (Date) obj;
        if (d != other.d) {
            return false;
        }
        if (m != other.m) {
            return false;
        }
        if (y != other.y) {
            return false;
        }
        return true;
    }
}
导入速记。*;
公课日期{
公共静态字符[]位={0','1','2','3','4','5','6','7','8','9'};
int d=0,m=0,y=0;
公共int getD(){
返回d;
}
公共int getM(){
返回m;
}
公共int getY(){
返回y;
}
公开日期(国际日、国际月、国际年)
{
如果(检查日期(日、月、年)=假)
抛出新的IllegalArgumentException(“无效日期”);
这个。d=dd;
这个。m=毫米;
这个。y=yy;
}   
公共静态布尔校验日期(int d,int m,int y)
{
如果(m28)
返回false;
如果((m==1 | | m==3 | | m==5 | | m==7 | | m==8 | | m==10 | | m==12)和&d>31)
返回false;
如果((m==4 | | m==6 | | m==8 | | m==11)和&d>30)
返回false;
返回true;
}
公共静态布尔checkLeap(int y)
{
如果(y%100!=0)
{
如果(y%4==0)
返回true;
}
如果(y%400==0),则为else
返回true;
返回false;
}
publicstaticdatetakein(stringmsg)抛出java.io.IOException
{
int d,m,y;
while(true)
{
布尔f=真;
u、 印尼国家电力公司(msg+“[dd-mm-yyyy]”);
字符串in=u.iBs();
如果(in.length()!=10)
{
u、 pln(“请输入有效日期”);
继续;
}
对于(inti=0;i,Java 8中有一个类可以实现差异(以及更多):

要将当前日期分配到
end
中,请使用以下方法:

Java 8中有一个类可以实现这一区别(还有更多):

要将当前日期分配到
end
中,请使用以下方法:


要获取当前日期,可以使用Java8日期时间API

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd"); 
LocalDate localDate = LocalDate.now(); 
System.out.println(dtf.format(localDate));

要获取当前日期,可以使用Java8日期时间API

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd"); 
LocalDate localDate = LocalDate.now(); 
System.out.println(dtf.format(localDate));

u、 pln()是我制作的一个函数,它将给定的字符串打印到控制台,并将其添加到一个字符串中,允许我在executionu.pln()的末尾将整个输出写入一个文件是我制作的一个函数,它将给定的字符串打印到控制台,并将其添加到一个字符串中,允许我在executionVyskovsky kvr000结束时将整个输出写入一个文件。如何使用此类(或任何其他类)获取当前日期您可以使用以下代码以任何格式获取当前日期DateFormat DateFormat=new SimpleDateFormat(“yyyy/MM/dd HH:MM:ss”);date date=new date();System.out.println(DateFormat.format(date));@Pradnyarani这是旧的API,与此答案中建议的完全不同。@AkhandYaduvanshi获取当前日期:
LocalDate.now()< /代码>——如果你有选择的话,不要使用Deals/SimuldAtError类。@ PrnnayaRAN:你会考虑给出自己的答案,而不是向注释添加VySkOVSkyKVR000代码吗?我将如何使用这个类(或其他)获得当前日期?您可以使用以下代码以任何格式获取当前日期DateFormat DateFormat=new SimpleDateFormat(“yyyy/MM/dd HH:MM:ss”);date date=new date();System.out.println(DateFormat.format(date))@ PrdnayaNi这是旧的API,它与这个答案中的建议完全不同。@ AkhandYaduvanshi获得当前日期:<代码> LoalDeal.No()(代码)>如果您有选择,不要使用Deals/SimuldAtError类。@ PrnnayaRAN:您会考虑给出自己的答案,而不是向注释添加代码吗?
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd"); 
LocalDate localDate = LocalDate.now(); 
System.out.println(dtf.format(localDate));