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

不建议用date的

1、取得指定日期是星期几
取得指定日期是星期几可以采用下面两种方式取得日期是星期几:
a、使用Calendar类
//根据日期取得星期几
public static String getWeek(Date date){
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;
if(week_index<0){
week_index = 0;
}
return weeks[week_index];
}
b、使用SimpleDateFormat类
//根据日期取得星期几
public static String getWeek(Date date){
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
String week = sdf.format(date);
return week;
}
注:格式化字符串存在区分大小写
对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月”;MM代表月份,如“11”;
yyyy代表年份,如“2010”;dd代表天,如“25”
2、取得日期是某年的第几周
根据日期入得日期是某年的第几周。
//取得日期是某年的第几周
public static int getWeekOfYear(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week_of_year = cal.get(Calendar.WEEK_OF_YEAR);
return week_of_year;
}
3、得到某年的某个月有多少天
已知年份和月份,取得该月有多少天。
//取得某个月有多少天
public static int getDaysOfMonth(int year,int month){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
int days_of_month = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
return days_of_month;
}
4、取得两个日期之间的相差多少天
已知两个日期,计算它们之间相差多少天。
// 取得两个日期之间的相差多少天
public static long getDaysBetween(Date date0, Date date1) {
long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000 用立即数,减少乘法计算的开销
return daysBetween;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-10-12
这个只能自己编写代码,显示样式可以根据自己的喜好设定。
实现此功能有很多方法,下面仅给一个例子,希望对你有帮助。

/** * 获取指定日期是星期几
* 参数为null时表示获取当前日期是星期几
* @param date
* @return
*/
public static String getWeekOfDate(Date date) {
String[] weekOfDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar calendar = Calendar.getInstance();
if(date != null){
calendar.setTime(date);
}
int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0){
w = 0;
}
return weekOfDays[w];
}

调用方法如下,看你怎么用了

public static void main(String[] args){
//今天是2015-10-19 星期一
String weekOfDate = null; //参数为null时表示获取当前日期是星期几
weekOfDate = getWeekOfDate(null);
System.out.println(weekOfDate);
//输出 星期一

Date date = new Date();
date.setDate(18); //指定日期也可以
weekOfDate = getWeekOfDate(date);
System.out.println(weekOfDate);
//输出 星期日
}本回答被网友采纳
第2个回答  推荐于2017-09-09
利用java.util类中的Calendar c=Calendar.getInstance();
这个方法来试试。具体就是 比如要获得年 int year; year=c.get(Calendar.YEAR);
你可以试试,本回答被提问者采纳
第3个回答  2011-09-28
Calendar cal = Calendar.getInstance();

int weekday = cal.get(Calendar.DAY_OF_WEEK);
第4个回答  2018-05-18
我的方法:
Date date = new Date(Calendar.DAY_OF_WEEK);
Calendar cal = new GregorianCalendar();

cal.setTime(date);
cal.get(Calendar.DAY_OF_WEEK);
题主,为什么不用Date?分享一下。