求一个关于日期的算法?

lvkai0452 2008-03-07 11:39:34
int date = new Date().getDay();这个求出来的是今天是星期几,我要根据这个date求出date这周,周一和周日的年月日,格工是2008-03-07,有什么好的算法吗,我想出来的是用if进行比较,我觉得不太好,大家有什么好的算法吗,谢谢了!
...全文
157 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zapdos 2008-03-07
  • 打赏
  • 举报
回复
这样吧
一般Data已经过时了,用Calendar
Calendar c = Calendar.getInstance();
System.out.println("now"+c.getTime());
c.add(Calendar.DAY_OF_WEEK,-c.get(Calendar.DAY_OF_WEEK)+1);
System.out.println("sunday"+c.getTime());
c.add(Calendar.DAY_OF_WEEK,1);
System.out.println("monday"+c.getTime());

C:\java>java test
nowFri Mar 07 12:35:29 CST 2008
sundaySun Mar 02 12:35:29 CST 2008
mondayMon Mar 03 12:35:29 CST 2008
yami251139 2008-03-07
  • 打赏
  • 举报
回复
这个求出来的是今天是星期几,我要根据这个date求出date这周,周一和周日的年月日,格工是2008-03-07,

沒看懂。。。
lvkai0452 2008-03-07
  • 打赏
  • 举报
回复
难道我说的有错?你没看明白吧
lvkai0452 2008-03-07
  • 打赏
  • 举报
回复
难道我说的有错?你没看明白吧
临远 2008-03-07
  • 打赏
  • 举报
回复
getDate()才是日期。
getDay()是获得星期。
临远 2008-03-07
  • 打赏
  • 举报
回复
那个是礼拜几。
ZHOUJIAOSHOU 2008-03-07
  • 打赏
  • 举报
回复
up
zapdos 2008-03-07
  • 打赏
  • 举报
回复

偶只是提出大概的解决方法而已
楼主你不会改一下么?难道还要照搬?
logi22 2008-03-07
  • 打赏
  • 举报
回复
6楼的没写错,楼主你把3.4号的date给set到c这个Calendar里不就好了,改下6楼代码

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class tttttttttttt {

public static void main(String[] args) throws ParseException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = sdf.parse("2008/03/04 08:00:00");

Calendar c = Calendar.getInstance();
c.setTime(date);//set 3.4 date
System.out.println("now" + c.getTime());
c.add(Calendar.DAY_OF_WEEK, -c.get(Calendar.DAY_OF_WEEK) + 1);
System.out.println("sunday" + c.getTime());
c.add(Calendar.DAY_OF_WEEK, 1);
System.out.println("monday" + c.getTime());
}
}
lvkai0452 2008-03-07
  • 打赏
  • 举报
回复
楼上的算法有些问题,如果把系统时间改成3.4号得的值就不是四号那周的周一和周日的时间。你这个只能计算今天的。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧