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 怎么根据一天的时间得到一周的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)