在开发中经常会使用到一些日期方面的操作,下面例子展示几个常用的操作。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;}</pre><pre></pre><pre></pre><pre></pre><pre></pre>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;} www.2cto.com// 取得两个日期之间的相差多少天public static long getDaysBetween(Date date0, Date date1) {long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000 用立即数,减少乘法计算的开销return daysBetween;}}6、测试结果
- 高中毕业可以学武汉北大青鸟Java课程吗?
- 武汉北大青鸟Java前景怎么样?
- Java程序员的就业前景怎么样?
- 学会Java工程师后的就业前景如何?
- Java和C++之间的区别以及它们的就业前景
- JavaScript 中的时间对象是什么?
- JavaScript中的函数then()是什么意思?
- Java是什么语言?Java面试题
- 面试题:java中有哪些运算符?
- Java中的锁的各种定义?Java中的锁三种类型
看过该Java开发的还看过
本文标题:#JAVA中获取指定星期及其他日期#,宏鹏发布于北大青鸟鲁广校区。在开发中经常会使用到一些日期方面的操作,下面例子展示几个常用的操作。