java 怎么计算明天是星期几

java 怎么计算明天是星期几,第1张

Calendar cal = CalendargetInstance();

caladd(CalendarDATE,1);

int w=calget(CalendarDAY_OF_WEEK); //SUNDAY = 1;MONDAY = 2;SATURDAY = 7;

if(w==1)Systemoutprint("星期天");

if(w==2)Systemoutprint("星期一");

if(w==3)Systemoutprint("星期二");

if(w==4)Systemoutprint("星期三");

if(w==5)Systemoutprint("星期四");

if(w==6)Systemoutprint("星期五");

if(w==7)Systemoutprint("星期六");

package comrxlamozhidao;

import javatextSimpleDateFormat;

import javautilCalendar;

public class Test {

    public static void main(String[] args) {

        // 获取离当前日期最近的一个星期天

        getLastSunday();

    }

    /

      获取离当前日期最近的一个星期天

     /

    public static void getLastSunday() {

        // 获取当前日期

        Calendar calendar = CalendargetInstance();

        // 距离上个周日的差值

        long diffTime = 0L;

        // 今天星期几,注:此处周日 = 1 ,周一 = 2 。。。。

        int dayOfWeek = calendarget(CalendarDAY_OF_WEEK);

        Systemoutprintln("toady:" + dayOfWeek);

        // 如果今天是周日,看需求,是取今天的,还是取上周的

        if (dayOfWeek == 1){

            // 取今天

             // dayOfWeek = 1;

            // 取上周

            dayOfWeek = 8;

        }

        // 计算当前时间距离上周日的时差,此处一周的开始从周日算起,根据需要

        diffTime = (dayOfWeek - 1 )  24  60  60  1000;

        calendarsetTimeInMillis(SystemcurrentTimeMillis() - diffTime);

        //

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Systemoutprintln("lastSunday:" + dateFormatformat(calendargetTime()));

        // 如果一周的开始从周一计算,并且请注释掉上面的  if (dayOfWeek == 1) 处判断,需要重新判断

        if (dayOfWeek == 1){

            // 取今天

            // dayOfWeek = 0;

            // 取上周

            dayOfWeek = 7;

        }

        diffTime = dayOfWeek  24  60  60  1000;

        calendarsetTimeInMillis(SystemcurrentTimeMillis() - diffTime);

        Systemoutprintln("lastSunday:" + dateFormatformat(calendargetTime()));

    }

}

有不明白在问我

楼主我这方法都拆开了,应该还算比较好理解。。。也有注释

======================================================================

import javatextParseException;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

import javautilGregorianCalendar;

public class WeekToDay {

public static void main(String[] args) {

String date = "2012-12-01";

String[] a;

try {

a = getStringDate(date);

for(String k : a){

Systemoutprintln(k);

}

} catch (ParseException e) {

eprintStackTrace();

}

}

public static String[] getStringDate(String date) throws ParseException{

String[] weeks = new String[7];//返回的这周的日期

String[] a = datesplit("-");

int week = getDayOfWeek(a[0], a[1], a[2]);//获取周几

int minWeek = 0;

int maxWeek = 7;

String format = "yyyy-MM-dd";

if(week == 1){//如果是周日(老外是从周日开始算一周,所以有点恶心)

weeks[6] = date;

for(int i = 5; i >= 0; i--){

weeks[i] = getFormatDateAdd(getStrToDate(date, format), -1, format);

date = weeks[i];

}

}else{

int temp = week - 2;

weeks[temp] = date;

for(int i = temp - 1; i >= minWeek; i--){

weeks[i] = getFormatDateAdd(getStrToDate(date, format), -1, format);

date = weeks[i];

}

date = weeks[temp];

for(int i = temp + 1; i < maxWeek; i++){

weeks[i] = getFormatDateAdd(getStrToDate(date, format), 1, format);

date = weeks[i];

}

}

return weeks;

}

/

根据指定的年、月、日返回当前是星期几。1表示星期天、2表示星期一、7表示星期六。

@param year

@param month

month是从1开始的12结束

@param day

@return 返回一个代表当期日期是星期几的数字。1表示星期天、2表示星期一、7表示星期六。

/

public static int getDayOfWeek(String year, String month, String day) {

Calendar cal = new GregorianCalendar(new Integer(year)intValue(),

new Integer(month)intValue() - 1, new Integer(day)intValue());

return calget(CalendarDAY_OF_WEEK);

}

/

取得给定日期加上一定天数后的日期对象

@param date

给定的日期对象

@param amount

需要添加的天数,如果是向前的天数,使用负数就可以

@param format

输出格式

@return Date 加上一定天数以后的Date对象

/

public static String getFormatDateAdd(Date date, int amount, String format) {

Calendar cal = new GregorianCalendar();

calsetTime(date);

caladd(GregorianCalendarDATE, amount);

return getFormatDateTime(calgetTime(), format);

}

/

根据给定的格式与时间(Date类型的),返回时间字符串。最为通用。<br>

@param date

指定的日期

@param format

日期格式字符串

@return String 指定格式的日期字符串

/

public static String getFormatDateTime(Date date, String format) {

SimpleDateFormat sdf = new SimpleDateFormat(format);

return sdfformat(date);

}

/

返回制定日期字符串的date格式

@param date

@param format

@return

@throws ParseException

/

public static Date getStrToDate(String date, String format) throws ParseException{

SimpleDateFormat sdf = new SimpleDateFormat(format);

return sdfparse(date);

}

}

课表数据时存储于数据库中的吗?

/

获取一周的时间集合(从周一到周日)

@param weekNum ;-1:上周;0:本周;1:下周

/

public static List<Date> getWeekDates(int weekNum){

List<Date> list = new ArrayList<Date>();

Calendar cal = CalendargetInstance();

// 获取指定下几个星期

caladd(CalendarDAY_OF_WEEK, weekNum 7);

calsetFirstDayOfWeek(CalendarMONDAY);

calset(CalendarDAY_OF_WEEK, CalendarMONDAY);

listadd(calgetTime());

for(int i = 0;i < 6;i++){

caladd(CalendarDAY_OF_WEEK, 1);

listadd(calgetTime());

}

return list;

}

这个是获取这一周时间的代码 ,之后用下面的代码获取周一到周日的日期

List<Date> ds = DateUtilgetNowWeekDates(weekNum);

dsget(0)//周一

dsget(6)//周日

用这两个时间到数据库中进行范围查询,之后的你应该明白了吧

使用Calendar类

/Calendar类中的get(CalendarDAY_OF_WEEK)可以获取当前日期是星期几

获取当前日期是星期几<br>

@param dt

@return 当前日期是星期几

/

public static String getWeekOfDate(Date dt) {

String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};

Calendar cal = CalendargetInstance();

calsetTime(dt);

int w = calget(CalendarDAY_OF_WEEK) - 1;

if (w < 0)

w = 0;

return weekDays[w];

}

以上就是关于java 怎么计算明天是星期几全部的内容,包括:java 怎么计算明天是星期几、在java里怎么取离当前日期最近的一个星期天、java 怎么根据一天的时间得到一周的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存