关于java中如何获取当前年份的第一天和最后一天

如题所述

package com.dada.test;


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author li_yueling
 * @version 1.0 2011-03-25
 *
 */
public class DateUtil {
/**
 * 默认日期格式
 */
public static String DEFAULT_FORMAT = "yyyy-MM-dd";

/**
 * 测试主方法
 * @param args
 */
public static void main(String[] args) {
for(int i = 1951;i < 1960;i++){
System.out.println(formatDate(getYearFirst(i)));
System.out.println(formatDate(getYearLast(i)));
}

System.out.println(formatDate(getCurrYearFirst()));
System.out.println(formatDate(getCurrYearLast()));

}

/**
 * 格式化日期
 * @param date 日期对象
 * @return String 日期字符串
 */
public static String formatDate(Date date){
SimpleDateFormat f = new SimpleDateFormat(DEFAULT_FORMAT);
String sDate = f.format(date);
return sDate;
}

/**
 * 获取当年的第一天
 * @param year
 * @return
 */
public static Date getCurrYearFirst(){
Calendar currCal=Calendar.getInstance();  
int currentYear = currCal.get(Calendar.YEAR);
return getYearFirst(currentYear);
}

/**
 * 获取当年的最后一天
 * @param year
 * @return
 */
public static Date getCurrYearLast(){
Calendar currCal=Calendar.getInstance();  
int currentYear = currCal.get(Calendar.YEAR);
return getYearLast(currentYear);
}

/**
 * 获取某年第一天日期
 * @param year 年份
 * @return Date
 */
public static Date getYearFirst(int year){
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
Date currYearFirst = calendar.getTime();
return currYearFirst;
}

/**
 * 获取某年最后一天日期
 * @param year 年份
 * @return Date
 */
public static Date getYearLast(int year){
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
calendar.roll(Calendar.DAY_OF_YEAR, -1);
Date currYearLast = calendar.getTime();

return currYearLast;
}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-18
您好,很高兴能帮助您,
Calendar cal = Calendar.getInstance();
// 不加下面2行,就是取当前时间前一个月的第一天及最后一天
cal.set(Calendar.YEAR,2012)
cal.set(Calendar.MONTH, 6);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.add(Calendar.DAY_OF_MONTH, -1);
Date lastDate = cal.getTime();

cal.set(Calendar.DAY_OF_MONTH, 1);
Date firstDate = cal.getTime();
你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!
第2个回答  推荐于2017-10-02
java中如何获取当前年份的第一天和最后一天?
表中有一个时间字段submitDate,表中有好几年的记录,我想要查出表中当前年份的记录,要怎么处理?

一种是使用模糊查询,like
一种是between 那就要获得当前年份的第一天和最后一天.本回答被提问者和网友采纳
第3个回答  2014-12-18
第一天不就是1月1日,最后一天不就是12月31日么,再加上年份在前面不就好了
相似回答