计算天数 - javascript

在JS练习题中,有这么一道:

请计算某天是这一年的第几天。

首先,我们要看此年是否闰年

	var IsLeapYear = function (year) {
		var flag = false;

		if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) )
			flag = true;

		return flag;
	};

其次,累加每月天数。

	for (var i = 0; i < month - 1; i++) {
		iDay += months[i];
	}

其中months为数组

var months = new Array(31, day2, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

day2如果是闰年赋值29,否则28。

	if (IsLeapYear(iYear)) {
		day2 = 29;
	} else {
		day2 = 28;
	}

附:

calDay.js

/*
 * xiaobin in SYSIT schools completed
 */
var MY = {};	

MY.DayOfYear = function(year, month, day) {
	var day2 = 0;
	var iDay = 0;

	var date = new Date();
	date.setFullYear(year, month, day);
	var iYear = date.getFullYear();

	var IsLeapYear = function (year) {
		var flag = false;

		if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) )
			flag = true;

		return flag;
	};

	if (IsLeapYear(iYear)) {
		day2 = 29;
	} else {
		day2 = 28;
	}

	var months = new Array(31, day2, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	for (var i = 0; i < month - 1; i++) {
		iDay += months[i];
	}

	iDay += day;

	SetInputVal(iDay);

	return iDay;
};

function SetInputVal (value) {
	var val = document.getElementById("daySum");
	val.value = value;
};

calDay.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Example01</title>
<script type="text/javascript" src="calDay.js" > </script>
</head>

<body>
<p>
     <br>
     <input type="text" id="daySum" >
     <input type="button" id="test02"  value="cal day" onClick="MY.DayOfYear(2000, 2, 8)">
</p>

</body>
</html>
时间: 2025-01-04 18:39:34

计算天数 - javascript的相关文章

11周(计算天数)

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:计算天数 *作者:王忠 *完成日期:2014.10.30 *版本号:v1.0 * *问题描述:输入年月日 ,算出是该年的第几天 *输入描述:年月日 *程序输出:该年第几天 #include <iostream> using namespace std; int days(int y,int m,int d); int main() { int year,month,day;

PHP日期操作类代码-农历-阳历转换、闰年、计算天数等

这是一个实用的PHP日期时间操作类,里面包括了公历-农历转换.转换成中文日期格式.计算农历相隔天数.根据阴历年获取生肖.获取阴历月份的天数.获取农历每年的天数.获取闰月.计算阴历日期与正月初一相隔的天数.计算2个公历(阳历)日期之间的天数.根据距离正月初一的天数计算阴历日期.获取天干地支纪年等,PHP日期操作类:Lunar.class.php代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

*分支-13. 计算天数

1 /* 2 * Main.c 3 * B13-分支-13. 计算天数 4 * Created on: 2014年6月12日 5 * Author: Boomkeeper 6 * 7 ******测试又是木有完全通过啊********* 8 */ 9 10 #include <stdio.h> 11 #include <stdlib.h> 12 13 #define JANUARY 31 14 #define FEBRUARY 28 15 #define MARCH 31 16 #

输入日期计算天数

#include <stdio.h>void main(){ int year,month,day,daynum; printf("请输入年月日,用,号隔开,格式列(2014,5,12)\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month) { case 1: daynum=day; break; case 2: daynum=30+day; break; case 3:

分支-13. 计算天数(15)

本题要求编写程序计算某年某月某日是该年中的第几天. 输入格式: 输入在一行中按照格式"yyyy/mm/dd"(即"年/月/日")给出日期.注意:闰年的判别条件是该年年份能被4整除但不能被100整除.或者能被400整除.闰年的2月有29天. 输出格式: 在一行输出日期是该年中的第几天. 输入样例1: 2009/03/02 输出样例1: 61 输入样例2: 2000/03/02 输出样例2: 62 import java.util.Scanner; public cla

计算天数差、获取当前时间、获取百分比

//计算天数差 function getDayNumber(date1, date2) { //默认格式为"20030303",根据自己需要改格式和方法 var year1 = date1.substr(0, 4); var year2 = date2.substr(0, 4); var month1 = date1.substr(4, 2); var month2 = date2.substr(4, 2); var day1 = date1.substr(6, 2); var day

17周(结构体计算天数 )

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:17周(结构体计算天数 ) *作者:王忠 *完成日期:2014.12.22 *版本号:v1.0 * *问题描述:定义一个结构体变量(包括年.月.日),要求输入年.月.日,计算输出该日是该年的第几天. *输入描述:输入年.月.日 *程序输出:输出该日是该年的第几天. #include <iostream> using namespace std; struct Date { i

计算天数和小时

import javax.swing.JOptionPane; //一年等于365*24*60=525600,一天等于24*60=1440 public class Time { public static void main(String[] args){ String input = JOptionPane.showInputDialog(null,"请输入分钟数:","对话框",JOptionPane.QUESTION_MESSAGE); double min

计算天数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int j; 6 int year, month, day; 7 int sum = 0; //计算天数 8 int flag; //判断平年或者闰年 9 int a[][13] = { 10 {0,31,28,31,30,31,30,31,31,30,31,30,31}, 11 {0,31,29,31,30,31,30,31,31,30,31,30,31} 12