~~~
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;
}
}
~~~