原帖如下http://topic.csdn.net/u/20090518/23/3718ab34-2fd2-4363-9775-12b468c52ccb.html现在需要进一步获得 当前日期的前4天 (共5天的 日期)返回结果为,数组也行或者用某个固定间隔符号隔开的字符串也可以比如今天是5月29日 18:05 则返回 090529,090528,090527,092526,090525但如果 今天是 5月29日上午 11点 则返回 090528,090527,092526,090522 (需跨越周6 周日)
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Test { public static void main(String[] args)
{
String[] testStr = getDays1(new Date(), 4, "yyMMdd");
for(int i=0; i<testStr.length; i++)
{
System.out.println(testStr[i]);
}
}
public static String[] getDays1(Date day, int preDays, String format)
{
String[] returnValue = new String[preDays];
SimpleDateFormat sdf = new SimpleDateFormat(format);
Calendar c = Calendar.getInstance();
c.setTime(day);
for(int i=0; i<preDays; i++)
{
c.add(Calendar.DAY_OF_YEAR, -1);
while(c.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY || c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY)
{
c.add(Calendar.DAY_OF_YEAR, -1);
}
returnValue[i] = new String(sdf.format(c.getTime()));
}
return returnValue;
}}
楼主给分
BMW很迅速啊
呵呵
其实这个并不难用Calendar累就可以搞定了
LZ应该自己试着来来
LS的代码不完全正确,LZ还需要修改一下,想必应该可以应付了
public static String[] getDay(int stepDay) {
DateFormat dfObj = new SimpleDateFormat("yyMMdd");
StringBuffer sbuf = new StringBuffer();
Calendar calenObj = Calendar.getInstance();
if (calenObj.get(Calendar.AM_PM) == Calendar.AM) {
stepDay = stepDay - 1;
sbuf.append(dfObj.format(calenObj.getTime())).append(",");
}
for (int i = 0; i < stepDay; i++) {
calenObj.add(Calendar.DAY_OF_MONTH, -1);
while (calenObj.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY
|| calenObj.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
calenObj.add(Calendar.DAY_OF_MONTH, -1);
}
sbuf.append(dfObj.format(calenObj.getTime())).append(",");
}
System.out.println(sbuf.toString());
return (sbuf.toString().split(","));
}
import java.util.Calendar;
import java.util.Date;
import java.util.List;public class Test {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.setTime(new Date());
List<String> dateList = new ArrayList<String>();
while(dateList.size() < 4) {
c.add(Calendar.DAY_OF_MONTH, -1);
if(c.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY && c.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) {
dateList.add("" + c.get(Calendar.YEAR) + (c.get(Calendar.MONTH) + 1) + c.get(Calendar.DAY_OF_MONTH));
}
}
}
}