• 编写一个程序，提示用户输入一个年份以及这一年中第一天星期几， 然后，输出每个月的第一天星期几。 #include using namespace std; int main() {  cout  int year;  cin >> year;  cout ...

编写一个程序，提示用户输入一个年份以及这一年中第一天是星期几，

然后，输出每个月的第一天是星期几。

#include <iostream>
using namespace std;

int main()
{
cout << "Enter a year: ";
int year;
cin >> year;

cout << "Enter the first day of the year: ";
int firstDay;
cin >> firstDay;

int numberOfDaysInMonth = 0;

// Display calendar for each month
for (int month = 1; month <= 12; month++)
{
// Display Calendar title
switch (month)
{
case 1:
cout << "January 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
case 2:
cout << "Feburary 1, " << year << " is ";
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
numberOfDaysInMonth = 29;
else
numberOfDaysInMonth = 28;
break;
case 3:
cout << "March 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
case 4:
cout << "April 1, " << year << " is ";
numberOfDaysInMonth = 30;
break;
case 5:
cout << "May 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
case 6:
cout << "June 1, " << year << " is ";
numberOfDaysInMonth = 30;
break;
case 7:
cout << "July 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
case 8:
cout << "August 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
case 9:
cout << "September 1, " << year << " is ";
numberOfDaysInMonth = 30;
break;
case 10:
cout << "October 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
case 11:
cout << "November 1, " << year << " is ";
numberOfDaysInMonth = 30;
break;
case 12:
cout << "December 1, " << year << " is ";
numberOfDaysInMonth = 31;
break;
}

switch (firstDay)
{
case 0:
cout << "Sunday" << endl;
break;
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
case 4:
cout << "Thursday" << endl;
break;
case 5:
cout << "Friday" << endl;
break;
case 6:
cout << "Saturday" << endl;
break;
}

// Get the start day for the next month
firstDay = (firstDay + numberOfDaysInMonth) % 7;
}

return 0;
}

展开全文
• var weekday=nowdate.getDay()这样获取到的weekday有可能是0/1/2/3/4/5/6，要注意返回是0代表这个月的第一天是星期天，其他的依次类推就可以知道是这个月的第一天星期几了。当然一般我们实战时候不可能写死年月，...

首先我们要知道是哪一年那一个月：例如2018年6月

代码：

var nowdate=new Date('2018,06,01');

var weekday=nowdate.getDay()

这样获取到的weekday有可能是0/1/2/3/4/5/6，要注意返回是0代表这个月的第一天是星期天，其他的依次类推就可以知道是这个月的第一天是星期几了。

当然一般我们实战时候不可能写死年月，所以要

var year=2018;//你要定义一个年份

var month=06;//定义月份

var nowdate=new Date(''+year+','+month+',01');

var weekday=nowdate.getDay()

这样子就可以了，最后写成一个函数

var weekday

function getDate(year,month){

var nowdate=new Date(''+year+','+month+',01');

weekday=nowdate.getDay()

return weekday

}

getDate(2018,06)

展开全文
• package For_the_training; ...//假设星期天是每周第一天，根据给定的年份和月份，输出一个日历 （已知1900-1-1是星期一） public class M2 { public static void main(String[] args) { int...

package For_the_training;

import java.time.Year;
import java.util.Scanner;

//假设星期天是每周第一天，根据给定的年份和月份，输出一个日历 （已知1900-1-1是星期一）
public class M2 {
public static void main(String[] args) {
int x=0;
Scanner Sc = new Scanner(System.in);
System.out.print("请输入年份：");
int year=Sc.nextInt();
System.out.print("请输入月份：");
int month=Sc.nextInt();
int []months={31,28,31,30,31,30,31,31,30,31,30,31};
int Month_days=0;
if (Year_Day(year)==366){
months[1]=29;
}
System.out.println("  ------"+year+"年"+month+"月------");
System.out.println("日  一  二  三  四  五  六");
int all_days=Minus_Day(year)+Minus_Day2(year,month);
switch ((all_days-1)%7){
case 0:x=0;break;
case 1:x=-1;break;
case 2:x=-2;break;
case 3:x=-3;break;
case 4:x=-4;break;
case 5:x=-5;break;
case 6:x=1;break;
}
for(int i=x;i<=months[month-1];i++){
if(i<=0){System.out.print("    ");}
if(((i-x+1)%7!=0&&i<10&&i>0)){System.out.print(i+"   ");}
if(i>0&&i<10&&(i-x+1)%7==0) {System.out.println(i+"   ");}
if(((i-x+1)%7!=0&&i>=10)){System.out.print(i+"  ");}
if((i>=10&&(i-x+1)%7==0)) {System.out.println(i+"  ");}

}
}
public static int Minus_Day(int year){
int Year_days=0;
int Year[]=new int[10000];
for(int i=0;i<Year.length;i++){
if(i%400==0||(i%4==0&&i%100!=0)){Year[i]=366;}
else{Year[i]=365;}}
if(year>=1900){
for(int y=1900;y<=year;y++){
Year_days+=(Year[y]);
}
}else{
for(int y=year;y<=1900;y++){
Year_days+=(Year[y]);
}
}
return Year_days;
}
public static int Year_Day(int year){
int Year[]=new int[10000];
for(int i=0;i<Year.length;i++){
if(i%400==0||(i%4==0&&i%100!=0)){Year[i]=366;}
else{Year[i]=365;}
}
return  Year[year];
}
public static int Minus_Day2(int year,int month){
int []months={31,28,31,30,31,30,31,31,30,31,30,31};
int Month_days=0;
if (Year_Day(year)==366){
months[1]=29;
}
for(int i=0;i<(month-1);i++) {
Month_days+=months[i];
}
return Month_days;
}
}

展开全文
• 计算任何一天星期几的几种算法 一：常用公式 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数，D是这一天在这一年中的累积天数，也就是这一天在这一年中是几天。 二：蔡勒...
计算任何一天是星期几的几种算法
一：常用公式

W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D

Y是年份数，D是这一天在这一年中的累积天数，也就是这一天在这一年中是第几天。

二：蔡勒（Zeller）公式

w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

公式中的符号含义如下，w：星期；c：世纪；y：年（两位数）； m：月（m大于等于3，小于等于14，即在蔡勒公式中，某年的1、2月要看作上一年的13、14月来计算，比如2003年1月1日要看作2002年的13月1日来计算）；d：日；[ ]代表取整，即只要整数部分。

相比于通用通用计算公式而言，蔡勒（Zeller）公式大大降低了计算的复杂度。

三：对蔡勒（Zeller）公式的改进

相比于另外一个通用通用计算公式而言，蔡勒（Zeller）公式大大降低了计算的复杂度。不过，笔者给出的通用计算公式似乎更加简洁（包括运算过程）。现将公式列于其下：
W=[y/4]+r (y/7)-2r(c/4)+m’+d

公式中的符号含义如下，r ( )代表取余，即只要余数部分；m’是m的修正数，现给出1至12月的修正数1’至12’如下：（1’，10’）=6；（2’，3’，11’）=2；（4’，7’）=5；5’=0；6’=3；8’=1；（9’，12’）=4（注意：在笔者给出的公式中，y为润年时1’=5；2’=1）。其他符号与蔡勒（Zeller）公式中的含义相同。

四：基姆拉尔森计算公式

这个公式名称是我给命名的，哈哈希望大家不要见怪。

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来代入公式计算
//y：年，m：月，d：日。在参数都只传入相应的整数
// ********************************************/
string str_week(int y,int m,int d){
int a=7; // 用来保存计算得到的星期几的整数
string str_date="";
if((m==1)||(m==2))//如果是一月或二月进行换算
{
m+=12;
y--;
}
a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;   //得到的星期几的整数
switch (a){
case 0:
str_date="星期一";
break;
case 1:
str_date="星期二";
break;
case 2:
str_date="星期三";
break;
case 3:
str_date="星期四";
break;
case 4:
str_date="星期五";
break;
case 5:
str_date="星期六";
break;
case 6:
str_date="星期日";
break;
}
return str_date;
}

int main()
{
int y, m, d;
cout << "输入日期：如 2012-03-30" << endl;
scanf("%d-%d-%d", &y, &m,&d);
cout << str_week(y, m, d) << endl;
}

展开全文
• 在Java日常开发中，不可避免的会碰到对时间处理的需求，JDK为我们提供了对应的类来...日常开发中往往会有这样的个需求：有个查询，是以月份作为查询条件的，但数据库中保存的数据是单位是，这时候我们查询某...
• Calendar.DAY_OF_WEEK 今天是本周第天 将天设为本月第一天 cld.set(Calendar.DATE, 1);
• * 获取当前星期第一天和最后一天 * @returns {string} 例如 2019-09-09~2019-09-15 */ function getWeekFirstLastDay() { var current=new Date(); var currentyear=current.getFullYear(); var ...
• 1、 编写程序，用户按“yyyy-MM-dd”格式输入一个日期，程序计算后输出这一天星期几，并且计算出是一年中的几天？ 下面贴上代码： 计算星期采用的是：基姆拉尔森计算公式 using System; namespace...
• 编写程序，该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期，程序计算这一天星期几， 并且计算出是一年中的几天。 import java.io.*; import java.text.*; import java.util.Date; public class Test...
• ﻿﻿ SQL Server上的日期获取与Oracle确实有些不同，现将日期获取的方法说明如下： 以下getdate()为获取当天的日期，按照实际需求，可以替换成参数或实际的日期 ...当月第一天 select dateadd(d,
• 时间创世纪，休息，所以人们也就以七个周期来安排自己的工作和生  活，而星期日是休息日。从实际的角度来讲，以七个周期，长短也比较合适。所  以尽管中国的传统工作周期是十（比如王勃...
• #计算某特定天使星期几 #蔡勒公式：w=y+[y/4]+[c/4]-2c+[26(m+1）/10]+d-1 import math dict = {1: "星期", 2: "星期二", 3: "星期三", 4: "星期四", 5: "星期五", 6: "星期六", 0: "星期"} while 1: y=int...
• 想着获取当前是第周，先获取开学那，看了两年的校历好像是9月份第一星期一和2月份最后个星期一。
• //输入年月日，判断这一天星期几 Console.WriteLine(“请输入年份”); int Years = int.Parse(Console.ReadLine()); Console.WriteLine(“请输入月份”); int Month = int...
• 2、从键盘输入个日期，屏幕上回答是星期几; 3、从键盘输入两个日期，计算这两个日期之间含有多少。 import java.time.LocalDate; import java.util.Calendar; import java.util.Scanner; public class Test023 ...
• Java 当前时间的之前一天，前一个月，前一个星期，前一年，当期时间所在星期月份，年份表示
• 写了个小功能，需要用到以周为时间段，于是写了个获取周第一和最后一天的方法，获取月份的第一和最后一天就比较简单了。... /// 获取指定日期所在周的第一天星期天为第一天 /// /// /// publi
• 我们先用1月份第一星期一作为起点，然后以七为一个间隔，查看下一个星期一的日期，如果是新的一个月的星期一，则输出，如果在已经输出的这个月，则继续加上7向下寻找，知道找完这一年为止。 基本思路就是...
• 再说10秒钟计算2014年某一天星期几有网友反映《如何10秒钟快速计算出2014年某一天星期几》，不可能10秒计算出来。首先，我想说，谢谢您认真阅读该篇文章，并且付诸实践，实际操练。然后，在这里，我想再多啰嗦几句。...
• 在具体的获取当前日期很简单，但获取一定格式的日期需要一定的转换。 public class DateDemo { public static void ...年中的"+i+"个月中的"+a); } }
• 如何10秒钟快速计算出2014年某一天星期几一、提出问题公元2014年即将来到，如何快速计算2014年某一天，星期几呢？如：2014年元旦，星期几。二、解决之道计算公式，或者说算法就是：星期几 = （年份代码 + 月份代码 +...
• * 获取某月份第N周开始日期(星期一) * * * @param year 年 * @param month 月 * @param weekOrder 周次 * @return Date 某月份第N周开始日期,即周一(包含跨月),比如2014年1月的第一周的第一天为2013...
• 很感谢论坛中的位朋友给了我提示，后来想了下，是自己想的复杂了，在他的基础上整理了下如下代码： /* * To change this template, choose Tools | Templates * and open the template in the editor. */ ...
• 要求：根据日期求天数，周，星期几思路：试试不用java封装好的方法写一个日期类，属性：年、月、日;首先判断日期是否合法，第一功能计算天数：求当月前一个月与第一月相差的天数，在加上当前月到几号的天数；第二个...
• 相差多少：sysdate-to_date('1991-01-01','YYYY-MM-DD'))<...0相差星期用to_char(sysdate,'ww')获取时间为当年的多少个星期，同理做减法即可获得差值两个时间之间的月份差select substr(t...
• 获取当前日期星期几   NSArray *weekdays = [ NSArray arrayWithObjects : @" 星期日 " , @" 周一 " , @" 周二 " , @" 周三 " , @" 周四 " , @" 周五 " , @" 周六 " , nil ];   ...
• 样，我们就得到了第一个计算某一天星期几的公式：  W = (Y-1)*365 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D． (1)  其中D是这个日子在这一年中的累积天数。算出来的W就是公元前1年（或公元0年）12月31日到...
• C语言根据日期判断星期几（使用基姆拉尔森计算公式） 算法如下：  基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数，m表示月份数，y表示年数。 注意：在公式...
• // 获取前月的第一天 cale = Calendar.getInstance(); cale.add(Calendar.MONTH, 0); cale.set(Calendar.DAY_OF_MONTH, 1); firstday = format.format(cale.getTime()); // 获取前月的最后一天 cale = Calendar....

...