打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
获取日期对应是星期几

1、取得指定日期是星期几
取得指定日期是星期几可以采用下面两种方式取得日期是星期几:
a、使用Calendar类
[java]  
//根据日期取得星期几  
    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类
[java]  
//根据日期取得星期几  
    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、取得日期是某年的第几周
根据日期入得日期是某年的第几周。
[java]  
//取得日期是某年的第几周  
    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、得到某年的某个月有多少天
已知年份和月份,取得该月有多少天。
[java]  
//取得某个月有多少天  
    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、取得两个日期之间的相差多少天
已知两个日期,计算它们之间相差多少天。
[java]  
<pre name="code" class="java">// 取得两个日期之间的相差多少天  
    public static long getDaysBetween(Date date0, Date date1) {  
        long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000  用立即数,减少乘法计算的开销  
        return daysBetween;  
    }
5、完整的测试代码
[java]  
package org.ml.test;  
  
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
  
public class CalendarDemo {  
    public static void main(String[] args) {  
        String strDate = "2013-03-08";// 定义日期字符串  
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");// 定义日期格式  
        Date date = null;  
        try {  
            date = format.parse(strDate);// 将字符串转换为日期  
        } catch (ParseException e) {  
            System.out.println("输入的日期格式不合理!");  
        }  
        System.out.println(strDate + "是:" + getWeek(date));  
        System.out.println(strDate + "是一年的第:" + getWeekOfYear(date) + "周");  
        System.out.println(strDate + "是一年的" + (date.getMonth() + 1) + "月有:"  
                + getDaysOfMonth(date.getYear(), date.getMonth() + 1) + "天");  
        System.out.println(strDate + "距离" + (format.format(new Date())) + "还有"  
                + getDaysBetween(date, new Date()) + "天");  
  
    }  
  
    // 根据日期取得星期几  
    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];  
        SimpleDateFormat sdf = new SimpleDateFormat("EEEE");  
        String week = sdf.format(date);  
        return week;  
    }  
  
    // 取得日期是某年的第几周  
    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;  
    }  
  
    // 取得某个月有多少天  
    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;  
    }
  
    // 取得两个日期之间的相差多少天  
    public static long getDaysBetween(Date date0, Date date1) {  
        long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000  用立即数,减少乘法计算的开销  
        return daysBetween;  
    }  
  
}  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于Java日期处理函数.[不断更新] - feng
JAVA判断当前日期是星期几
获取时间段的天
Java基础:Java操作日期的工具类总结
java入门、java学习:java日期格式处理类,《上》
Calendar获取上个月第一天和最后一天,上周第一天和最后一天
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服