java获取当前日期前三位,即星期几

java获取当前日期前三位,即星期几,第1张

Calendar calendar = CalendargetInstance();

SimpleDateFormat df = new SimpleDateFormat("yyyy-M-d");

String s = dfformat(calendargetTime());

Systemoutprintln(s);

Systemoutprintln(calendarget(CalendarDAY_OF_WEEK)-1);

因为星期是从周日开始的

提倡了一下中文写,

static public void main(String 参数[]){

SimpleDateFormat 格式=new SimpleDateFormat("y年M月d日 E H时m分s秒",LocaleCHINA);

Calendar 日历=CalendargetInstance(LocaleCHINA);

//当前时间,貌似多余,其实是为了所有可能的系统一致

日历setTimeInMillis(SystemcurrentTimeMillis());

Systemoutprintln("当前时间:"+格式format(日历getTime()));

日历set(CalendarDAY_OF_WEEK, CalendarMONDAY);

Systemoutprintln("周一时间:"+格式format(日历getTime()));

}

===========

改到后天测了一下

输出

当前时间:2011年8月31日 星期三 12时32分40秒

周一时间:2011年8月29日 星期一 12时32分40秒

我的理解是如果输入的星期等于当前日期的星期数,那么返回下一个周对应星期数的日期,否则返回当前日期往后最近的一个匹配的星期数的日期。如果我的理解没问题的话下面代码就能满足你的要求:

import javautilCalendar;

import javautilDate;

public class Main {

    public static void main(String[] args) {

        Systemoutprintln(getDateByWeek(2));

    }

    /

      根据星期获取日期

     

      @param week 星期几 1代码星期日,2代表星期一。。。7代表星期六

      @return

     /

    public static Date getDateByWeek(int week) {

        int targetWeek = week;

        Calendar c = CalendargetInstance();

        // 当前日期星期数

        int currWeek = cget(CalendarDAY_OF_WEEK);

        if (currWeek == targetWeek) {

            // 如果所给星期数和当前日期星期数相等则向后推7天

            cadd(CalendarDAY_OF_MONTH, 7);

            return cgetTime();

        }

        do {

            // 向后推一天,直到星期数与所给星期数相同

            cadd(CalendarDAY_OF_MONTH, 1);

        } while (targetWeek != cget(CalendarDAY_OF_WEEK));

        return cgetTime();

    }

}

以上就是关于java获取当前日期前三位,即星期几全部的内容,包括:java获取当前日期前三位,即星期几、java 获取当前日期时间和本周的星期一的日期时间、java 根据所填写的星期数获取日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9604468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存