日期相关-报表

package com.cd.date;

import java.sql.Date;
import java.util.Calendar;

public class DateTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		java.util.Date currence=new java.util.Date(System.currentTimeMillis());
		System.out.println(currence.getTime());
		java.sql.Date sql=new java.sql.Date(currence.getTime());
		System.out.println(sql);
		DateTest dt=new DateTest();
		System.out.println("first day of month===>"+dt.getMonthFirstDay(sql));
		System.out.println("first day of year===>"+dt.getYearFirstDay(sql));
		System.out.println("first day of season===>"+dt.getSeasonFirstDay(sql));
		System.out.println("is end day of month===>"+dt.isMonthEnd(sql));
		System.out.println("first day of halfyear===>"+dt.getHalfYearFirstDay(sql));
	}
	public Date getSeasonFirstDay(Date date){
		Calendar c=Calendar.getInstance();
		c.setTime(date);
		int year=c.get(Calendar.YEAR);
		int month=c.get(Calendar.MONTH);
//		c.set(Calendar.YEAR, year);
		c.set(Calendar.DAY_OF_MONTH,1);
		if(0<=month && month<3){
			c.set(Calendar.MONTH,Calendar.JANUARY);
		}else if(3<=month && month<6){
			c.set(Calendar.MONTH,Calendar.APRIL);
		}else if(6<=month && month<9){
			c.set(Calendar.MONTH,Calendar.JULY);
		}else{
			c.set(Calendar.MONTH,Calendar.OCTOBER);
		}
		return new Date(c.getTime().getTime());
	}
	public static Date getMonthFirstDay(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.set(Calendar.MONTH,c.get(Calendar.MONTH)-1);
		c.set(Calendar.DAY_OF_MONTH, 1);
		return new Date(c.getTime().getTime());
	}

	/**
	 * 得到日期的年份的第一天(如:param 2008-02-23 return 2008-01-01)
	 * @param date
	 * @return
	 */
	public static Date getYearFirstDay(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.set(Calendar.DAY_OF_MONTH, 1);
		c.set(Calendar.MONTH, 0);
		return new Date(c.getTime().getTime());
	}
	
	public static Date getHalfYearFirstDay(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		int month=c.get(Calendar.MONTH);
		if(month<=4){
			c.set(Calendar.MONTH,1);
		}else{
			c.set(Calendar.MONTH,5);
		}
		c.set(Calendar.DAY_OF_MONTH, 1);
		return new Date(c.getTime().getTime());
	}
	
	public static boolean isMonthEnd(Date date) {

		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.DAY_OF_MONTH)
			== c.getActualMaximum(Calendar.DAY_OF_MONTH);

	}
}

你可能感兴趣的:(java,sql,C++,c,C#)