java中根据当前年月日和星期 获取到下个星期X的年月日

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中根据当前年月日和星期 获取到下个星期X的年月日相关的知识,希望对你有一定的参考价值。

小弟最近在做个android中循环周期(也就是星期日星期一……星期二)定时开关机的模块,定时关机已经实现了,定时关机就是获取系统当前时间和星期,把当前时间和星期与用户设置的时间和星期匹配上就执行关机动作,而定时开机的开机时间是预设的,我的思路就是:关机时候 获取系统当前年月日时分秒和星期 获取用户设置的下一次自动开机的星期和时间 根据当前系统年月日和星期算出下一个星期X的年月日 设置开机时间的年月日时分秒(因为开机是用的RTC硬件闹钟所以需要提供年月日时分秒),不过现在的问题在于,如题的一个问题,请各位大牛不吝解答,小弟在此跪谢!!!

参考技术A
import java.time.LocalDate;

public class DemoTime 
public static void main(String[] args) 
LocalDate date = LocalDate.of(2015, 11, 12);
int now = date.getDayOfWeek().getValue();
System.out.println("今天是\\t星期"+now);

for (int i = 1; i < 8; i++) 
System.out.println("下个星期"+i+"\\t"+date.plusDays(7-now+i));;


输出

今天是 星期4
下个星期1 2015-11-16
下个星期2 2015-11-17
下个星期3 2015-11-18
下个星期4 2015-11-19
下个星期5 2015-11-20
下个星期6 2015-11-21
下个星期7 2015-11-22

追问

系统中就没有这个java.time.LocalDate;这个 包

追答

jdk 8 有该包.升级你的JDK吧

追问

好的,不过我要的不是下个星期X的年月日,而是接下来的,比如今天星期四就那接下来的星期天的年月日

追答import java.time.LocalDate;

public class DemoTime 
public static void main(String[] args) 
LocalDate date = LocalDate.of(2015, 11, 12);
int now = date.getDayOfWeek().getValue();
System.out.println("今天是\\t星期"+now);
int x = 7;//1~7代表星期一到星期7
LocalDate date2  = date.plusDays(7-now+x);
System.out.println("下个星期"+x+"\\t"+date2);

参考技术B         final long oneDay = 1000 * 60 * 60 * 24L;
        final int weekDays = 5;//for example
        
        long curTime = System.currentTimeMillis();
        long targetTime = curTime + oneDay * weekDays;
        
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date(targetTime));
        int year = calendar.get(Calendar.YEAR); 
        int month = calendar.get(Calendar.MONTH) + 1; 
        int day = calendar.get(Calendar.DAY_OF_MONTH);

本回答被提问者采纳

js中如何根据日期算出星期几

参考技术A <!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>

</head>

<body>

    <input id="y" type="text" placeholder="年" /> <input id="m" type="text" placeholder="月" />

    <nput id="d" type="text" placeholder="日" /> <br /> <input type="button" id="btn" value="计算星期几" /> <input type="text"

        id="w" placeholder="星期几">

    <script>

        var y = document.getElementById('y');

        var m = document.getElementById('m');

        var d = document.getElementById('d');

        var w = document.getElementById('w');

        var btn = document.getElementById('btn');

        btn.onclick = function () 

            var a = '';

            a = y.value + '/' + m.value + '/' + d.value;

            var date = new Date(a);

            var week = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];

            w.value = week[date.getDay()];

        

    </script>

</body>

</script>

</body>

</html>

以上是关于java中根据当前年月日和星期 获取到下个星期X的年月日的主要内容,如果未能解决你的问题,请参考以下文章

java中如何获取日期时间中的星期几?

java 获取当前日期是多少周

js中如何根据日期算出星期几

根据年月日求当前日期是星期几

根据年月日求当前日期是星期几

根据年月日求当前日期是星期几