Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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 - Fatal编程技术网

在Java中如何通过传递一天来获取日期

在Java中如何通过传递一天来获取日期,java,Java,我有2天的时间,需要确定给定的日期是否在输入范围内。 我只有几天的时间 例如:如果我的开始时间是星期三,结束时间是星期天,当前日期是星期四,我应该检查当前星期三和下星期天之间的时间跨度,然后函数应该返回布尔值yes 示例2:如果开始日期是星期五,结束日期是星期一,当前日期是星期四,我应该在当前星期五和即将到来的星期一(即下周)内进行检查,在这种情况下,它应该返回false。使用常量声明日期 private static final int CONST_SUNDAY = 0; private st

我有2天的时间,需要确定给定的日期是否在输入范围内。
我只有几天的时间

例如:如果我的开始时间是星期三,结束时间是星期天,当前日期是星期四,我应该检查当前星期三和下星期天之间的时间跨度,然后函数应该返回布尔值yes


示例2:如果开始日期是星期五,结束日期是星期一,当前日期是星期四,我应该在当前星期五和即将到来的星期一(即下周)内进行检查,在这种情况下,它应该返回false。

使用常量声明日期

private static final int CONST_SUNDAY = 0;
private static final int CONST_MONDAY = 1;
private static final int CONST_TUESDAY = 2;
private static final int CONST_WEDNESDAY = 3;
private static final int CONST_THURSDAY = 4;
private static final int CONST_FRIDAY = 5;
private static final int CONST_SATURDAY = 6;
然后创建一个方法来检查范围,如果值小于startDay,则技巧在endDay应在下周

public static boolean isDayInRange(int startDay, int endDay, int currentDay) {
    if (endDay < startDay) {
        endDay += 7;
    }

    return ((currentDay >= startDay) && (currentDay <= endDay));
}

使用常量声明日期

private static final int CONST_SUNDAY = 0;
private static final int CONST_MONDAY = 1;
private static final int CONST_TUESDAY = 2;
private static final int CONST_WEDNESDAY = 3;
private static final int CONST_THURSDAY = 4;
private static final int CONST_FRIDAY = 5;
private static final int CONST_SATURDAY = 6;
然后创建一个方法来检查范围,如果值小于startDay,则技巧在endDay应在下周

public static boolean isDayInRange(int startDay, int endDay, int currentDay) {
    if (endDay < startDay) {
        endDay += 7;
    }

    return ((currentDay >= startDay) && (currentDay <= endDay));
}

通过这个链接,我想你会很容易得到想要的东西。

我提到了一些代码,所以你可以有一个想法

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2010-01-12");
Date date2 = sdf.parse("2010-01-17");
Date dateCurrent = sdf.parse("2010-01-13");

System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
System.out.println(sdf.format(dateCurrent));

if(date1.before(dateCurrent) && date2.after(dateCurrent)){
    // return true.
}else{
    // return false.
}

通过这个链接,我想你会很容易得到想要的东西。

我提到了一些代码,所以你可以有一个想法

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2010-01-12");
Date date2 = sdf.parse("2010-01-17");
Date dateCurrent = sdf.parse("2010-01-13");

System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
System.out.println(sdf.format(dateCurrent));

if(date1.before(dateCurrent) && date2.after(dateCurrent)){
    // return true.
}else{
    // return false.
}

添加一些您尝试过的代码。添加一些您尝试过的代码。嗨,当我尝试布尔结果2=isDayInRange(常数周五、常数周一、常数周日)时,此代码出错;仅供参考,我需要在中间计算中包含天数,因此,我做了一个小的更改,如return((currentDay>=startDay)&&(currentDay这里是有效的代码!
public static boolean isDayInRange(int startDay,int endDay,int currentDay){if(endDay=startDay)&&(currentDay好的,那么你的意思是开始和结束日期也应该包括在内。很好,我也会更新我的答案。如果你不介意,请接受它作为答案:)这将是计算它的更快方法,然后创建一个日期对象,然后comparingthem@tgkprog:除此之外,速度更快,我们不知道问题的日期。当我尝试布尔结果2=isDayInRange(常数周五、常数周一、常数周日)时,此代码出错;仅供参考,我需要在中间计算中包括天数,因此,我做了一个小的更改,如return((currentDay>=startDay)&&(currentDay这是有效的代码!
public static boolean isDayInRange(int startDay,int endDay,int currentDay){if(endDay=startDay)&&(currentDay好的,那么你的意思是开始和结束日期也应该包括在内。很好,我也会更新我的答案。如果你不介意,请接受它作为答案:)这将是计算它的更快方法,然后创建一个日期对象,然后comparingthem@tgkprog:除此之外,速度更快,我们不知道问题的日期。你看到问题了吗?当唯一输入为“星期二”或“星期三”时,你从哪里获得日期,您可以使用今天的日期作为基础,但这将是一种迂回的方式,比此要求更复杂。您看到问题了吗?当唯一的输入是“星期二”或“星期三”时,您从哪里获得日期,您可以使用今天的日期作为基础,但这将是一种迂回的方式,并且比此要求所需的更加复杂