20150910输入一个日期判断是这一年的第一天

bool isok = false;//用来记录日期是否正确
bool isrun = false;//用来判断是否是闰年

Console.Write("输入年:");
int year = int.Parse(Console.ReadLine());
Console.Write("输入月:");
int month = int.Parse(Console.ReadLine());
Console.Write("输入日:");
int day = int.Parse(Console.ReadLine());

bool isok = false;//用来记录日期是否正确
bool isrun = false;//用来判断是否是闰年

if (year >= 1759 && year < 9999)
{
if (month >= 1 && month <= 12)
{
if (month == 2)
{
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
if (day >= 1 && day <= 29)
{
isok = true;
isrun = true;
}
else
{
Console.WriteLine("应在29天范围之内");
}
}
else
{
if (day >= 1 && day <= 28)
{
isok = true;
}
else
{
Console.WriteLine("应在28天范围之内");
}
}
}
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
if (day >= 1 && day <= 31)
{
isok = true;
}
else
{
Console.WriteLine("日期应在31天之内");
}
}

if (month == 4 || month == 6 || month == 9 || month == 11)
{
if (day >= 1 && day <= 30)
{
isok = true;
}
else
{
Console.WriteLine("日期应在30天之内");
}
}
}
else
{
Console.WriteLine("月份不正确");
}
}
else
{
Console.WriteLine("年份不正确");
}

int sumday = 0;//第多少天
if (isok)//日期正确,计算天数
{
if (isrun)//是闰年
{
if (month == 1)
{
sumday = day;
}
if (month == 2)
{
sumday = 31 + day;
}
if (month == 3)
{
sumday = 31 + 29 + day;
}
if (month == 4)
{
sumday = 31 + 29 + 31 + day;
}
if (month == 5)
{
sumday = 31 + 29 + 31 + 30 + day;
}
if (month == 6)
{
sumday = 31 + 29 + 31 + 30 + 31 + day;
}
if (month == 7)
{
sumday = 31 + 29 + 31 + 30 + 31 + 30 + day;
}
if (month == 8)
{
sumday = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day;
}
if (month == 9)
{
sumday = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + day;
}
if (month == 10)
{
sumday = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
}
if (month == 11)
{
sumday = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
}
if (month == 12)
{
sumday = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
}
}
else
{
if (month == 1)
{
sumday = day;
}
if (month == 2)
{
sumday = 31 + day;
}
if (month == 3)
{
sumday = 31 + 28 + day;
}
if (month == 4)
{
sumday = 31 + 28 + 31 + day;
}
if (month == 5)
{
sumday = 31 + 28 + 31 + 30 + day;
}
if (month == 6)
{
sumday = 31 + 28 + 31 + 30 + 31 + day;
}
if (month == 7)
{
sumday = 31 + 28 + 31 + 30 + 31 + 30 + day;
}
if (month == 8)
{
sumday = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;
}
if (month == 9)
{
sumday = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
}
if (month == 10)
{
sumday = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
}
if (month == 11)
{
sumday = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
}
if (month == 12)
{
sumday = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
}
}

Console.WriteLine("第{0}天", sumday);

}
else
{
Console.WriteLine("已经日期不正确,算不出来!");
}

Console.ReadLine();
}

时间: 2024-10-08 00:27:38

20150910输入一个日期判断是这一年的第一天的相关文章

输入一个日期判断是否正确 javascript

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

Java日历模型:输入一个日期,控制台显示

1 package com.zhen.calendar; 2 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.GregorianCalendar; 8 import java.util.Scanner; 9 10 /* 11 * 输入一个日期,控制台显示 12 *

递归【输入一个日期】返回【前12个月每月最后一天】

/// <summary> /// 递归[输入一个日期]返回[前12个月每月最后一天] /// </summary> /// <param name="date">输入日期</param> /// <param name="i">循环次数(0-11)</param> /// <returns></returns> ArrayList arr = new ArrayList

输入 一个日期 和一个整数 n,输出从该日期起经过n天以后的日期

假定输入的日期和天数合法正确. 这道题挺费力的,想了很久.我的想法是:按照年,月,日依次来减少n的数量,直到得出结果.假定输入的日期为2013年5月3日,n为722天. 首先先判断n能不能让2013年跑完,如果能,则n = n - 2013年剩下的天数 - 1.则日期到了2014年1月1日,然后再判断剩下的n能不能让2014年跑完(注意是否闰年的问题).直到n不足够让某年跑完,然后再让某年一个月一个月的跑,最后到不足跑完一个月,最后直接用当前的日期加上剩下的天数即可. 整个程序写下来要注意各种边

输入一个日期,输出该日期是星期几

假定输入日期合法正确. 先找一个参考日期,找星期天的日期为最好.我一时没想到就选了今天,星期一,也不错.然后求出输入日期与参考日期之间间隔的天数n,n为负时则表示输入日期在参考日期之前,n为正时则表示输入日期在参考日期之后.因为星期为循环星期1到星期天,又根据补码的原理,可知n = ((n % 7) +  8) % 7, 此时的n为几则是星期几.(PS:星期天用0来表示,因为我选的是参考日期是星期一所以是+8,如果选的是星期天则是+7). 1 //给定一个日期,求这个日期是星期几? 2 #inc

输入一个日期,求是这一年中的第几天

有两种方法进行实现 方法一: int year,month,date;  int day;  int sum=0;  boolean flag=false;  do{  Scanner scan=new Scanner(System.in);  System.out.println("请输入年份");  year=scan.nextInt();  System.out.println("请输入月份");  month=scan.nextInt();  System.

输入一个日期,判断这个日期在一年中是哪一天,是星期几,计算两个日期间的天数,使用字符串输出日期

之前写了一个博文(http://blog.csdn.net/shiwazone/article/details/45053739)是用基本函数实现的,这次使用类的设计方法,也就是面向对象的方法改写一下,并加入了日期转换成字符串的实现.这里的程序也可以解决编程珠玑习题3.4的问题. #include"calendar.h" int main() { Time t; t.initialTime(); t.Show(); t.StrShow(); Time t1; t1.initialTim

js【输入一个日期】返回【当前12个月每月最后一天】

Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds()

输入一个日期和时间,输出下一秒的日期和时间

1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <string> 4 #include <string.h> 5 #include <iostream> 6 #include <vector> 7 #include <stack> 8 using namespace std; 9 #define debug(x) cout << #x <<