#include<stdio.h>
#include<conio.h>
int main() {
int day,month,year,sum,leap;
printf("please input year,month,day");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) {
case 1:
sum=0;
break;
case 2:
sum=31;
break;
case 3:
sum=59;
break;
case 4:
sum=90;
break;
case 5:
sum=120;
break;
case 6:
sum=151;
break;
case 7:
sum=181;
break;
case 8:
sum=212;
break;
case 9:
sum=243;
break;
case 10:
sum=273;
break;
case 11:
sum=304;
break;
case 12:
sum=334;
break;
default:
printf("出错了");
break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
sum++;
printf("It is the %dth day",sum);
getch();
}
Python
#!/usr/bin/python
from datetime import *
d=input()
d1=datetime.strptime(d[:4]+'/1/1','%Y/%m/%d')
d2=datetime.strptime(d,'%Y/%m/%d')
print((d2-d1).days+1)
Java
package com.lx;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 题目:输入某年某月某日,判断这一天是这一年的第几天?
*/
public class Demo {
public static void main(String[] args) {
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
try {
//录入键盘的数据
String str=bf.readLine();
//分割年月日
String[] strArr=str.split("-");
int year=Integer.parseInt(strArr[0]);
int month=Integer.parseInt(strArr[1]);
int towMonth=28;
//判断平年还是闰年
if((year%4==0&&year%100!=0)||(year%400==0)) {
towMonth=29;//闰年多一天
}
int totalDay=0;
int[] months= {
31,towMonth,31,30,31,30,31,31,30,31,30,31};
//前几个月加上本月的天数
for(int i=0; i<months.length; i++) {
if(month>=i+1) {
if(month==i+1) {
totalDay+=Integer.parseInt(strArr[2]);
break;
} else {
totalDay+=months[i];
}
}
}
//输出结果
System.out.println(totalDay);
} catch (IOException e) {
e.printStackTrace();
}
}