java 实现获取当天,当周,当月,当季,当年的时间段

摘要:
根据项目的要求,需要创建一个排名列表,以便根据时间从SQL查询数据。

由于项目需求,现在要做一个排行榜,需要按照时间(日,周,月,季,年)来从sql中查询数据。

1、首先要做的就是怎样判断当前的时间段

查询资料知:

项目中关于时间的使用:

1、获取时间 Date date=new Date(); date.getDate(); // System.currentTimeMills(); 都是返回long型的数据,

2、以某种格式输出

(1)SimpleDateFormat sdf=new SimpleDateFormat("yyyy--MM--dd HH:mm:ss " );sdf.format(date)将date型转换成 String

(2)将String转换成Date型 : sdf.parse(str); 将String类型解析成Date类型

3、对时间进行处理

Calendar 类 可以获取年月日

参看http://www.apihome.cn/api/java/Calendar.html Calendar的使用文档

        /**
	 * 获取当前日期与周一相差的天数
	 * @return
	 */
	public static int getMondayPlus(){
		Calendar day=Calendar.getInstance();
		int dayOfWeek=day.get(Calendar.DAY_OF_WEEK);
		if(dayOfWeek==1){ //一周中第一天(周日)
			return -6;
		}else{
			return 2-dayOfWeek;
		}
	}
	/**
	 * 获得当天的起始时间
	 * @return
	 */
	public static Calendar getStartDate(Calendar today){
		today.set(Calendar.HOUR_OF_DAY,0);
		today.set(Calendar.MINUTE, 0);  
		today.set(Calendar.SECOND, 0);  
		today.set(Calendar.MILLISECOND, 0);  
		return today;
	}
	/**
	 * 获取当天截止时间
	 * @return
	 */
	public static Calendar getEndDate(Calendar endToday){
		endToday.set(Calendar.HOUR_OF_DAY, 23);  
		endToday.set(Calendar.MINUTE, 59);  
		endToday.set(Calendar.SECOND, 59);  
		endToday.set(Calendar.MILLISECOND, 59);  
		return endToday;
	}
	/**
	 * 获得当月起始时间
	 * @return
	 */
	public static Calendar getStartMounth(Calendar today){
		Calendar calendar = getStartDate(today);   
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); 
       	return calendar;
	}
	/**
	 * 获得当月结束时间
	 * @return
	 */
	public static Calendar getEndMounth(Calendar endToday){
		Calendar endMounth=getEndDate(endToday);
		endMounth.set(Calendar.DAY_OF_MONTH, endMounth.getActualMaximum(endMounth.DAY_OF_MONTH));
		return endMounth;
	}
	/**
	 * 获取当前季度 起始时间
	 * @return
	 */
	public static Calendar getStartQuarter(Calendar today){
         int currentMonth = today.get(Calendar.MONTH) + 1; 
		 try { 
	            if (currentMonth >= 1 && currentMonth <= 3) 
	            	today.set(Calendar.MONTH, 0); 
	            else if (currentMonth >= 4 && currentMonth <= 6) 
	            	today.set(Calendar.MONTH, 3); 
	            else if (currentMonth >= 7 && currentMonth <= 9) 
	            	today.set(Calendar.MONTH, 4); 
	            else if (currentMonth >= 10 && currentMonth <= 12) 
	            	today.set(Calendar.MONTH, 9); 
	        } catch (Exception e) { 
	            e.printStackTrace(); 
	        } 
		return today;
	}
	/**
	 * 获取当季的结束时间
	 */
	public static Calendar getEndQuarter(Calendar today){
	        int currentMonth = today.get(Calendar.MONTH) + 1; 
	        try { 
	            if (currentMonth >= 1 && currentMonth <= 3) { 
	            	today.set(Calendar.MONTH, 2); 
	            	today.set(Calendar.DATE, 31); 
	            } else if (currentMonth >= 4 && currentMonth <= 6) { 
	            	today.set(Calendar.MONTH, 5); 
	            	today.set(Calendar.DATE, 30); 
	            } else if (currentMonth >= 7 && currentMonth <= 9) { 
	            	today.set(Calendar.MONTH,8); 
	            	today.set(Calendar.DATE, 30); 
	            } else if (currentMonth >= 10 && currentMonth <= 12) { 
	            	today.set(Calendar.MONTH, 11); 
	            	today.set(Calendar.DATE, 31); 
	            } 
	        } catch (Exception e) { 
	            e.printStackTrace(); 
	        } 
	        return today; 
	}
	/**
	 * 获取当年起始时间
	 */
	public static Calendar getStartYear(Calendar today){
        try { 
        	today.set(Calendar.MONTH, 0); 
        	today.set(Calendar.DAY_OF_MONTH, today.getActualMinimum(Calendar.DAY_OF_MONTH)); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        return today; 
	}
	/**
	 * 获取当年结束时间
	 */
	public static Calendar getEndYear(Calendar today){
		 try { 
	        	today.set(Calendar.MONTH, 11); 
	            today.set(Calendar.DAY_OF_MONTH, today.getMaximum(Calendar.DAY_OF_MONTH)); 
	      } catch (Exception e) { 
	            e.printStackTrace(); 
	      } 
	      return today; 
	}

免责声明:文章转载自《java 实现获取当天,当周,当月,当季,当年的时间段》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇邮政编码的正则表达式Devexpress之LayoutControl的使用及其控件布局设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL Server Date 函数之DATEADD()

DATEADD() 函数在日期中添加或减去指定的时间间隔。 语法 DATEADD(datepart,number,date) date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。 datepart 参数可以是下列的值: datepart 缩写 年 yy, yyyy 季度...

js获取本月,本季度,上个季度,本周,上周的起始和结束时间

1 /* 获得某月的天数 */ 2 function getMonthDays(myMonth) { 3 var nowYear = new Date().getFullYear(); //当前年 4 var monthStartDate = new Date(nowYear, myMonth, 1)...

Oracle10g 表分区

1.分区的原因 (1)Tables greater than 2GB should always be considered for partitioning. (2)Tables containing historical data, in which new data is added into the newest partition. A typi...

[SoapUI] Java转换各种日期格式

date为原始日期,orignalFormat为原始日期格式,expectedFormat为预期日期格式 def convertDate(String date, String originalFormat, String expectedFormat){ SimpleDateFormat dateFormat1 = newSimpleDa...

DOS 如何取当前时间做为文件名?

如果要取得以日期为文件名的文件,假设在命令行下键入date返回形式为:当前日期: 2005-06-02 星期四echo > %date:~0,4%%date:~5,2%%date:~8,2%~表示从环境变量的内容的左边开始,~m,n      m表示从第m个字符开始,n表示取n个字符。 下面以一个表格示例下,可能更容易懂: 日期和时间组合:%dat...

javascript 设置cookie(转)

原文地址:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/06/13/1757658.html 设置cookie每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie="userId=828";如果要一次存储多个名/值对,可以...