java常用的日期函数

来源:互联网 发布:java 中文字符串乱码 编辑:程序博客网 时间:2024/06/05 19:06
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;public class DataUtil {/** * 返回当前日期所在月份的天数 */public static List<Date> getAllTheDateOftheMonth(Date date) {List<Date> list = new ArrayList<Date>();Calendar cal = Calendar.getInstance();cal.setTime(date);cal.set(Calendar.DATE, 1);int month = cal.get(Calendar.MONTH);while (cal.get(Calendar.MONTH) == month) {list.add(cal.getTime());cal.add(Calendar.DATE, 1);}return list;}/** * 获取前XX天的时间 */public static Date getPastDate(int pastDay) throws ParseException {Calendar c = Calendar.getInstance();c.set(Calendar.DAY_OF_YEAR, c.get(Calendar.DAY_OF_YEAR) - pastDay);Date today = c.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String result = sdf.format(today);Date date = sdf.parse(result);return date; }/** * 根据时间(变量)获取未来XX天的时间 */public static Date getFutureDate(Date thisDay, int futureDay) throws ParseException {Calendar c = Calendar.getInstance();c.setTime(thisDay);c.set(Calendar.DAY_OF_YEAR, c.get(Calendar.DAY_OF_YEAR) + futureDay);Date future = c.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String result = sdf.format(future);Date date = sdf.parse(result);return date;}/** * 根据系统当前时间获取未来XX天的时间 */public static Date getFutureDate(int futureDay) throws ParseException {Calendar c = Calendar.getInstance();c.set(Calendar.DAY_OF_YEAR, c.get(Calendar.DAY_OF_YEAR) + futureDay);Date today = c.getTime(); // 系统当前时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String result = sdf.format(today);Date date = sdf.parse(result);return date;}}