随便给你一个日期例如2009 8 20问这一天是否是星期六

wang1986614 2009-09-15 02:20:45
随便给你一个日期例如2009 8 20问这一天是否是星期六
...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang1986614 2009-09-21
  • 打赏
  • 举报
回复
谢谢各位了,找到答案了!
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7

在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:

把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
 // java code
  //y-年,m-月,d-日期
  string CaculateWeekDay(int y,int m, int d)
  {
  if(m==1||m==2) {
  m+=12;
  y--;
  }
  int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
  string weekstr="";
  switch(week)
  {
  case 0: weekstr="星期一"; break;
  case 1: weekstr="星期二"; break;
  case 2: weekstr="星期三"; break;
  case 3: weekstr="星期四"; break;
  case 4: weekstr="星期五"; break;
  case 5: weekstr="星期六"; break;
  case 6: weekstr="星期日"; break;
  }
  return weekstr;
  }
BeenZ 2009-09-15
  • 打赏
  • 举报
回复
判断星期6的话就是

<script language="javascript" type="text/javascript">

function fngetday(year,month,date)
{
var keystr = "622503514624";
var deltmonth = parseInt(keystr.substr(month-1,1));
var deltyear = (year-2000)+Math.ceil((year-2000)/4);
deltyear += (year-Math.floor(year/4)*4==0 && month >2 ? 1:0);
var deltdate = date-1;
return (deltmonth+deltyear+deltdate) - Math.floor((deltmonth+deltyear+deltdate)/7)*7;
}
if(fngetday(2009,9,15)==6) alert("是星期6");
</script>
BeenZ 2009-09-15
  • 打赏
  • 举报
回复

<script language="javascript" type="text/javascript">

function fngetday(year,month,date)
{
var keystr = "622503514624";
var deltmonth = parseInt(keystr.substr(month-1,1));
var deltyear = (year-2000)+Math.ceil((year-2000)/4);
deltyear += (year-Math.floor(year/4)*4==0 && month >2 ? 1:0);
var deltdate = date-1;
return (deltmonth+deltyear+deltdate) - Math.floor((deltmonth+deltyear+deltdate)/7)*7;
}
document.write(fngetday(2008,2,19));
</script>
o北斗o 2009-09-15
  • 打赏
  • 举报
回复
路过学习了~~~
flylovejings 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lovehuaihaibo 的回复:]
Java codepublicstaticvoid main(String[] args) {// TODO Auto-generated method stub System.out.println();if(weekDay(2009,9,20)==6){
System.out.println("true");
}else{
¡­
[/Quote


mark
lovehuaihaibo 2009-09-15
  • 打赏
  • 举报
回复

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println();
if(weekDay(2009,9,20) == 6){
System.out.println("true");
}else{
System.out.println("false");
}
}

public static int weekDay(int year,int month,int day){
Calendar c = Calendar.getInstance();
c.set(year, month-1, day);
int week = c.get(Calendar.DAY_OF_WEEK);
if(week == 1){
return week+6;
}
return week-1;
}
fztjava 2009-09-15
  • 打赏
  • 举报
回复
import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.io.*;

class test{



public final static String dayNames[] = {

"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};



public static Date getdate(String date) throws Exception {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

return sdf.parse(date);

}



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

char k;

do{

System.out.print("请输入日期");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String d = br.readLine();

Calendar calendar = Calendar.getInstance();

calendar.setTime(getdate(d));

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

System.out.println(dayNames[dayOfWeek - 1]);



System.out.println("是否继续判断y代表是n代表退出");

BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));

k=(char)br1.read();

}while(k=='y');

System.out.println("已退出判断");

//可以将现在的时间输出

SimpleDateFormat currentDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");

System.out.println("完成编译时间为:"+currentDateTime.format(new Date()));

}

}

81,092

社区成员

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

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