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

Python014

java中如何获取日期时间中的星期几?,第1张

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

}

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()),你自己运行一下就知道结果了