日期:2014-05-17  浏览次数:20628 次

哈哈,这个东西怎么搞啊
传一个日期字符串(格式:2012-02-22),

要求通过一个算法或者现成的api来返回它周末,月末的时间字符串。



------解决方案--------------------
sf 多发点
------解决方案--------------------
Java里面处理时间还是个难事嘛?
------解决方案--------------------
Java code

import java.util.Calendar;

------解决方案--------------------
首先用SimpleDateFormater将字符串"2012-02-22"解析为Data对象,然后:

Calendar calendar = Calendar.getInstance();
calendar.setTime(date); // 将日期对象设置进来
int min = calendar.getActualMinimum(Calendar.DAY_OF_WEEK); //获取周开始基准
int current = calendar.get(Calendar.DAY_OF_WEEK); //获取当天周内天数
calendar.add(Calendar.DAY_OF_WEEK, min-current); //当天-基准,获取周开始日期
Date start = calendar.getTime();
calendar.add(Calendar.DAY_OF_WEEK, 6); //开始+6,获取周结束日期
Date end = calendar.getTime();
System.out.printf("start=%tF, end=%tF ", start, end);

上面这个是计算周的,计算月也类似,只不过修改几个参数:
DAY_OF_WEEK -> DAY_OF_MONTH