Java星期几和日期的计算 想实现这样的需求以2012年12月18日为起点,取出以后三个月中 周一,周三,周五的日期,希望大家给点思路,以前未实现过类似需求 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看你用不用java自有的类库。如果不用的话,就得自己写日历周一周三周五都是有规律的,每个周都是一样。所以难点不在周几,而在日期。也就是说你要知道2012.12.18之后三个月的每天的日期和12.18是星期几就行了。个人见解,仅供参考。 参考 joda-time 的 DateTime类。 你想用类库的话可以查查java中有关Calendar的类库,比如java.util.GregorianCalendar最笨的方法就是遍历每天,得到每天是周几。 要java.util.Calendar就能搞定的吧!import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;/** * 以2012年12月18日为起点, * 取出以后三个月中 周一,周三,周五的日期, * */public class Test{ public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2012); cal.set(Calendar.MONTH, Calendar.DECEMBER); cal.set(Calendar.DAY_OF_MONTH, 18); Calendar c = (Calendar) cal.clone(); c.add(Calendar.MONTH, 3); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); while(!c.before(cal)) { int day = cal.get(Calendar.DAY_OF_WEEK) ; if(day == Calendar.MONDAY || day == Calendar.WEDNESDAY || day == Calendar.FRIDAY) System.out.println(df.format(cal.getTime())); cal.add(Calendar.DATE, 1); } }} 需要这个么?jdk的Calendar就解决的很好! 关于GUI编程中JMenu的一个小问题!在线等,请高手赐教! 求助:自己写的Chat聊天 关不了窗口 如何实现java在后台监听键盘 进来看看. list中存放了一系列hh:mm,如何判断顺序正确? 检测您JAVA基本功是否扎实的问题!!开开心心快快乐乐送分题!祝朋友们编程的时候注意身体! 请教如何使用KeyListener 我怎么使用同一个目录下的别的类的方法? 类型转换问题 请问哪位大侠有能把法语翻译成汉语的软件(不用通过网络连接,因为我很少能上网)? 编译时异常和运行时异常有什么区别啊? 已知16进制BCD编码的RSA公钥,怎么使用rsa加密?
如果不用的话,就得自己写日历
周一周三周五都是有规律的,每个周都是一样。所以难点不在周几,而在日期。也就是说你要知道2012.12.18之后三个月的每天的日期和12.18是星期几就行了。个人见解,仅供参考。
最笨的方法就是遍历每天,得到每天是周几。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;/**
* 以2012年12月18日为起点,
* 取出以后三个月中 周一,周三,周五的日期,
*
*/
public class Test
{
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 18);
Calendar c = (Calendar) cal.clone();
c.add(Calendar.MONTH, 3);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
while(!c.before(cal))
{
int day = cal.get(Calendar.DAY_OF_WEEK) ;
if(day == Calendar.MONDAY || day == Calendar.WEDNESDAY || day == Calendar.FRIDAY)
System.out.println(df.format(cal.getTime()));
cal.add(Calendar.DATE, 1);
}
}
}