[Java]获取自定义格式的时间


import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import cn.com.agree.ab.trade.core.Trade;

/**
 * <DL>
 * <DT><B> 功能说明</B></DT>
 * 字符串处理工具
 * </DL>
 * 
 * @author 	
 * @since 2015-6-3
 */
public class DateUtil {
	/**
	 * <b>功能说明</b> 获取自定义格式的时间
	 * 
	 * @param format
	 *            格式
	 *             <p>
	 *             <b>例如:</b><br>
	 *             使用例子说明 String a=NetCheck.getdataString("yyyyMMdd");
	 *             </p>
	 */

	public static String getdataString(String format) {
		DateFormat dateFormat = new SimpleDateFormat(format);
		return dateFormat.format(new Date());
	}

	public static String getNextDay(Date date, String format) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(Calendar.DAY_OF_MONTH, -7);
		date = calendar.getTime();
		DateFormat dateFormat = new SimpleDateFormat(format);
		return dateFormat.format(date);
	}

	public static String getFormatDate(String datestr) throws ParseException {

		SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
		Date date = null;
		date = df.parse(datestr);
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return dateFormat.format(date);
	}
	public static String getNextDay(Date date, String format, int days) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(Calendar.DAY_OF_MONTH, days);
		date = calendar.getTime();
		DateFormat dateFormat = new SimpleDateFormat(format);
		return dateFormat.format(date);
	}
	public static List<String> getMonthWeekends(Trade trade,int month,int year) throws IOException{

		List<String> hostDays = new ArrayList<String>();
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.YEAR, year);
		cal.set(Calendar.MONTH, month-1);
		cal.set(Calendar.DAY_OF_MONTH, 1);
		int startIndex = cal.get(Calendar.DAY_OF_WEEK) -1 ; // 0~6 表示 周日 ~ 周六
		int endIndex = startIndex + getLastDayOfMonth(year, month) - 1;
		int startday = 1;
		for (int i = 0; i < 42; i++) {
			if (i >= startIndex && i <= endIndex) {
				cal.set(Calendar.DAY_OF_MONTH, startday);
				if(cal.get(Calendar.DAY_OF_WEEK)==1||cal.get(Calendar.DAY_OF_WEEK)==7){
					hostDays.add(startday+"");
				}
				startday++;
			} 
		}
		return hostDays;
	
	}
	public static boolean isLeapYear(int year) {
		return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
	}
	public static int getLastDayOfMonth(int year, int month) {
		if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
				|| month == 10 || month == 12) {
			return 31;
		}
		if (month == 4 || month == 6 || month == 9 || month == 11) {
			return 30;
		}
		if (month == 2) {
			if (isLeapYear(year)) {
				return 29;
			} else {
				return 28;
			}
		}
		return 0;

	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值