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);
}
}
日期相关-报表
最新推荐文章于 2024-02-28 10:04:27 发布