取得指定日期是星期几可以采用下面两种方式取得日期是星期几:
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
}
java中获取星期几可以这样:把时间格式化为字符串
public class Time {
public static void main(String[] args) {
Date date = new Date()
SimpleDateFormat strdate = new SimpleDateFormat("E")
String str = strdate.format(date)
System.out.println(str)
}
}
其中日期标志符为:
G年代
y 年
M 月
d 日
h 时在上午或下午 (1~12)
H 时在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午标记符
k 时在一天中 (1~24)
K 时在上午或下午 (0~11)
z 时区
public static void main(String[] args) {Calendar calendar = Calendar.getInstance()
int day = calendar.get(Calendar.DAY_OF_WEEK)
String displayName = calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.getDefault())
System.out.println(day)
System.out.println(displayName)
}
可以通过calendar.get(Calendar.DAY_OF_WEEK)来获取今天在本周的索引值,从星期天开始,依次为1、2、3……到星期六为7。
或者通过本地化显示为当地的文字描述,通过calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.getDefault()),你自己运行一下就知道结果了