java使用Calendar类获得指定日期
java使用Calendar类获得指定日期? ?? ???}else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intDAY + "-";
? ?? ???}
? ?? ???if (v_intMonth < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intMonth + "-";
? ?? ???}else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intMonth + "-";
? ?? ???}
? ?? ???v_strDate = v_strDate + v_intYear + " ";
? ?? ???
? ?? ???if (v_intHOUR < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intHOUR + ":";
? ?? ???}else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intHOUR + ":";
? ?? ???}
? ?? ???if (v_intMINUTE < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intMINUTE + ":";
? ?? ???} else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intMINUTE + ":";
? ?? ???}
? ?? ???if (v_intSECOND < 10) {
? ?? ?? ?? ?v_strDate = v_strDate + "0" + v_intSECOND;
? ?? ???} else {
? ?? ?? ?? ?v_strDate = v_strDate + v_intSECOND;
? ?? ???}
? ?? ???cal = null;
? ?? ???return v_strDate;
? ? }
? ? //获得当前日期与本周日相差的天数
? ? private static int getMondayPlus() {
? ?? ???Calendar cd = Calendar.getInstance();
? ?? ???// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
? ?? ???int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1; // 因为按中国礼拜一作为第一天所以这里减1
? ?? ???if (dayOfWeek == 1) {
? ?? ?? ?? ?return 0;
? ?? ???} else {
? ?? ?? ?? ?return dayOfWeek - 1;
? ?? ???}
? ? }
? ? //获得本周一的日期
? ? public static String getThisMondayDate() {
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???int mondayPlus = getMondayPlus();
? ?? ???cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-mondayPlus);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ?
? ? //获得本月1号的日期
? ? public static String getCurrentMonthBeginDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???cal.set(Calendar.DAY_OF_MONTH, 1);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ?
? ? //获得上周一的日期
? ? public static String getLastMondayDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???int dayPlus = getMondayPlus()+7;
? ?? ???cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-dayPlus);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ?
? ? //获得上周日的日期
? ? public static String getLastSundayDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???int dayPlus = getMondayPlus()+1;
? ?? ???cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-dayPlus);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 23);
? ?? ???cal.set(Calendar.MINUTE, 59);
? ?? ???cal.set(Calendar.SECOND, 59);
? ?? ???return getDate(cal);
? ? }
? ?
? ? //获得上月1号的日期
? ? public static String getLastMonthBeginDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)-1);
? ?? ???cal.set(Calendar.DAY_OF_MONTH,1);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 0);
? ?? ???cal.set(Calendar.MINUTE, 0);
? ?? ???cal.set(Calendar.SECOND, 0);
? ?? ???return getDate(cal);
? ? }
? ?
? ? //获得上个月最后一天的日期
? ? public static String getLastMonthEndDate(){
? ?? ???Calendar cal = Calendar.getInstance();
? ?? ???cal.set(Calendar.DAY_OF_MONTH, 0);
? ?? ???cal.set(Calendar.HOUR_OF_DAY, 23);
? ?? ???cal.set(Calendar.MINUTE, 59);
? ?? ???cal.set(Calendar.SECOND, 59);
? ?? ???return getDate(cal);
? ? }
? ? public static void main(String[] args) {
? ?? ???System.out.println(getDate());
? ?? ???System.out.println(getThisMondayDate());
? ?? ???System.out.println(getCurrentMonthBeginDate());
? ?? ???System.out.println(getLastMondayDate());
? ?? ???System.out.println(getLastSundayDate());
? ?? ???System.out.println(getLastMonthBeginDate());
? ?? ???System.out.println(getLastMonthEndDate());
? ? }