Javascript中的日期函数[zz]

http://www.knowsky.com/3615.html

Date(日期)对象可以使用Date()构造器来创建,在前面的教程中我们已经介绍了Date()构造器,这里就不重复叙述。它没有参数,返回的数值就是当前的日期。下面的表格显示了为日期构造器的有效输入:

var today = new Date();

返回当前的日期和时间

var newyear = new Date("December 31, 1998 23:59:59");

输入的是表单的字符串 “月 日,年 小时:分钟:秒”

var bday = new Date(75, 1, 16);

参数是年份,月,日

var bday = new Date(75, 1, 16, 12, 0, 0);

参数是年份,月,日,小时,分钟,秒

这里作点补充:月份是从0开始的,比如一月份=0,二月份=1,三月份=3等等。

从上面可以看出创建一个日期对象是相对地简单,以下的表格是一系列的函数可以用于改变或者访问这些对象的属性:

日期访问方法

Method(方法)

Description (描述)

Value(数值)

getYear()

返回年份的最后两位数字

2001

getMonth()

返回年份中的第几月(0到11)

5

getDate()

返回月份中的第几日(1到31)

2

getDay()

返回星期中的第几天 (0到6)

6

getTimezoneOffset()

返回当地时间与格林尼治天文台平均时间的差别

-480 (-8h)

getHours()

返回一天中的时针点数(0到23)

16

getMinutes()

返回分钟 (0..59)

8

getSeconds()

返回时间的秒 (0到59)

24

getTime()

返回自从公元1970年1月1日的毫秒数

991469304470

这里注意:IE浏览器的一些版本返回Timezoneoffset数值是用错误的符号,比如用”-”代替”+”等等。

日期设置方法

setDate()

设置每月中的第几天(从0到30)

setHours()

设置小时(从0到23)

setMinutes()

设置分钟(从0到59)

setMonth()

设置月份(从0到11)

setSeconds()

设置秒数(从0到59)

setTime()

设置时间(从公元以来的毫秒数)

setYear()

设置年份

其它的日期方法

parse

转化日期字符串为自从公元以来的毫秒数,比如Date.parse(“date string”)

toString()

Sat Jun 2 16:08:24 UTC+0800 2001

toGMTString()

Sat, 2 Jun 2001 08:08:24 UTC

toLocaleString()

2001年6月2日 16:08:24

所有的这些函数引用于独立的日期对象。如果你具有深厚的Java编程背景,那么你可以将它们认为是Date类的一些公共的方法而已。下面给出一个典型的例子来设置日期对象到当前时间加1年:

var nextYear = new Date(); // 初始化日期对象

nextyear.setYear(nextYear.getYear() + 1); // 增加1年

实际上,parse函数是Date对象的一个方法,而不是一个独立的日期变量,如果使用Java术语,它就称为Date类的一个静态方法。这个正是我们为什么使用Date.pase()而不使用somedate.parse()的原因啦。

javascript版的日期输入控件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="Microsoft FrontPage 5.0">

<META NAME="Author" CONTENT="zhaoweiwei">

<META NAME="Keywords" CONTENT="birthday_input">

<META NAME="Description" CONTENT="日起输入控件">

<script>

function showdb() //显示控件/隐藏空间

{

var CurrentDate=new Date();

var CYear=CurrentDate.getFullYear();

var CMonth=CurrentDate.getMonth();

var CDay=CurrentDate.getDay();

var a=document.getElementById("input_birth");

var obj_year=document.getElementById("year"); //当展开控件时自动取到当前时间(客户端)

obj_year.innerText=CYear;

var obj_month=document.getElementById("month");

obj_month.innerText=CMonth+1;

var s=new Date(CYear,CMonth,1);

var startDay=s.getDay(); //日期起始数字

var numDays=numberOfDays(CMonth,CYear); //本月天数

var day=document.getElementsByName("day");

for(var j=1;j<=numDays;j++) //插入日期

{

day[startDay+j-1].innerText=j;

}

else

{

a.style.visibility='visible';

}

}

function addyear()

{

{

var obj_year=document.getElementById("year");

var obj_month=document.getElementById("month");

var num_year=obj_year.innerText;

}