java 日期函数大全_JavaScript日期处理函数大全

解决2000问题

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

2。检查日期是否合法

// 当输入参数为isDate(dd,mm,ccyy)时,表示要检查年,月,日

// 当输入参数为isDate(dd,mm) 表示默认年为当前年

// 当输入参数为isDate(dd)    表示默认年,月为当前年月

// 注意输入月份保证在1-12以内。

function isDate (day,month,year) {

var today = new Date();

year = ((!year) ? y2k(today.getYear())year);

month = ((!month) ? today.getMonth():month-1);

if (!day) return false

var test = new Date(year,month,day); 86oo.com提供各类教程

if ( (y2k(test.getYear()) == year) &&

(month == test.getMonth()) &&

(day == test.getDate()) )

return true;

else

return false

}

以下是调用例子:

if (isDate(31,2,1997))

document.write("Valid");

else

document.write("Invalid");

3。如何判断两个日期中的间隔天数

function daysElapsed(date1,date2) {

var difference = Date.UTC(date1.getYear(),date1.getMonth(),date1.getDate(),0,0,0)

- Date.UTC(date2.getYear(),date2.getMonth(),date2.getDate(),0,0,0);

return difference/1000/60/60/24; 86oo.com

}

4。如何将一个下拉列表框中的月份传递到另一页

January

February

March

April

May

June

July

August

Spetember

October

November

December

在nextpage.html中加入下面的代码

document.formName.textName.value = location.search.substring(1);

//-SCRIPT>

或则:

86oo精彩教程

document.write("

document.write("VALUE='"location.search.substring(1)+"FORM>")

//-SCRIPT>

5。如何将一个字符串中的时间和当前时间做比较

/*其中的日期字符串可有以下格式:

格式 1 : 19970529

格式 2 : 970529

格式 3 : 29/05/1997

格式 4 : 29/05/97

输入参数dateType是1到4的数字,表示使用哪种格式.

*/

function isitToday(dateString,dateType) {

var now = new Date();

var today = new Date(now.getYear(),now.getMonth(),now.getDate())

if (dateType == 1)

var date = new Date(dateString.substring(0,4),

dateString.substring(4,6)-1, http://www.86oo.com

dateString.substring(6,8));

else if (dateType == 2)

var date = new Date(dateString.substring(0,2),

dateString.substring(2,4)-1,

dateString.substring(4,6));

else if (dateType == 3)

var date = new Date(dateString.substring(6,10),

dateString.substring(3,5)-1,

您所浏览的文章来自86oo.com

dateString.substring(0,2));

else if (dateType == 4)

var date = new Date(dateString.substring(6,8),

dateString.substring(3,5)-1,

dateString.substring(0,2));

else

return false;

if (date.toString() == today.toString())

return true;

else

return false;

86oo精彩教程

}

调用的例子如下:

if (isitToday("19970529",1)) alert('true'); else alert('false');

if (isitToday("970529",2)) alert('true'); else alert('false');

if (isitToday("29/05/1997",3)) alert('true'); else alert('false');

if (isitToday("02/06/97",4)) alert('true'); else alert('false');

//-

6。如何根据一个人的生日计算他的岁数

/*其中的日期字符串可有以下格式:

格式 1 : 19970529

格式 2 : 970529

格式 3 : 29/05/1997

格式 4 : 29/05/97

输入参数dateType是1到4的数字,表示使用哪种格式.

*/

function getAge(dateString,dateType) {

var now = new Date();

var today = new Date(now.getYear(),now.getMonth(),now.getDate())

var yearNow = now.getYear();

var monthNow = now.getMonth();

www.86oo.com

var dateNow = now.getDate();

if (dateType == 1)

var dob = new Date(dateString.substring(0,4),

dateString.substring(4,6)-1,

dateString.substring(6,8));

else if (dateType == 2)

var dob = new Date(dateString.substring(0,2),

dateString.substring(2,4)-1,

dateString.substring(4,6)); 86oo精彩教程

else if (dateType == 3)

var dob = new Date(dateString.substring(6,10),

dateString.substring(3,5)-1,

dateString.substring(0,2));

else if (dateType == 4)

var dob = new Date(dateString.substring(6,8),

dateString.substring(3,5)-1,

dateString.substring(0,2));

您所浏览的文章来自86oo.com

else

return '';

var yearDob = dob.getYear();

var monthDob = dob.getMonth();

var dateDob = dob.getDate();

yearAge = yearNow - yearDob;

if (monthNow > monthDob)

var monthAge = monthNow - monthDob;

else {

yearAge--;

var monthAge = 12 + monthNow -monthDob;

}

if (dateNow > dateDob)

var dateAge = dateNow - dateDob;

else {

monthAge--;

var dateAge = 31 + dateNow - dateDob; 欢迎各位访问86oo.com

}

return yearAge + ' years ' + monthAge + ' months ' + dateAge + ' days';

}

调用例子

document.write(getAge("19650104",1)+'BR>')

document.write(getAge("650104",2)+'BR>')

document.write(getAge("04/01/1965",3)+'BR>')

document.write(getAge("04/01/65",4)+'BR>')

//-SCRIPT>

7。如何使用下面的格式dd/mm/yy在网页中显示日期

var date = new Date();

var d  = date.getDate();

var day = (d < 10) ? '0' + d : d;

var m = date.getMonth() + 1;

var month = (m < 10) ? '0' + m : m;

var yy = date.getYear();

var year = (yy < 1000) ? yy + 1900 : yy;

document.write(day + "/" + month + "/" + year);

//-

8。如何使用下面的格式date month year在网页中显示日期

function makeArray() {

for (i = 0; i

this[i + 1] = makeArray.arguments[i];

}

var months = new makeArray('January','February','March',

'April','May','June','July','August','September',

'October','November','December');

var date = new Date();

var day  = date.getDate();

var month = date.getMonth() + 1;

var yy = date.getYear();

var year = (yy < 1000) ? yy + 1900 : yy;

document.write(day + " " + months[month] + " " + year);

//-

9.如何让我的网页的最近更新日期更易读

function makeArray0() {

for (i = 0; i

this[i] = makeArray0.arguments[i];

www.86oo.com

}

var days = new makeArray0("Sunday","Monday","Tuesday","Wednesday",

"Thursday","Friday","Saturday");

var months = new makeArray0('January','February','March',

'April','May','June','July','August','September',

'October','November','December');

function nths(day) {

if (day == 1 || day == 21 || day == 31)

return 'st';

else

if (day == 2 || day == 22)

return 'nd';

if (day == 3 || day == 23)

return 'rd';

www.86oo.com

else return 'th';

}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

var last = document.lastModified;

var date = new Date(last);

document.write("Last updated on " + days[date.getDay()] + ' ' +

date.getDate() + nths(date.getDate()) + " " +

months[date.getMonth()] + ", " +

(y2k(date.getYear()) + "."

//-SCRIPT>

10。如何显示到某个特定日期的倒记时

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function timeTillDate(whenDay,whenMonth,whenYear) {

var now = new Date();

var thisDay = now.getDate(), thisMonth = now.getMonth() + 1, thisYear = y2k(now.getYear())

var yearsDifference = whenYear - thisYear, monthsDifference = 0, daysDifference = 0, string = '';

86oo.com提供各类教程

if (whenMonth >= thisMonth) monthsDifference = whenMonth - thisMonth;

else { yearsDifference--; monthsDifference = whenMonth + 12 - thisMonth; }

if (whenDay >= thisDay)daysDifference = whenDay - thisDay;

else {

if (monthsDifference > 0) monthsDifference--;

else { yearsDifference--; monthsDifference+=11; }

daysDifference = whenDay + 31 - thisDay;

}

if (yearsDifference < 0) return '';

if ((yearsDifference == 0) && (monthsDifference == 0) && (daysDifference == 0))

return '';

if (yearsDifference > 0) {

string = yearsDifference + ' year';

您所浏览的文章来自86oo.com

if (yearsDifference > 1) string += 's';

string += ' ';

}

if (monthsDifference > 0) {

string += monthsDifference + ' month';

if (monthsDifference > 1) string += 's';

string += ' ';

}

if (daysDifference > 0) {

string += daysDifference + ' day';

if (daysDifference > 1) string += 's';

string += ' ';

}

var difference = Date.UTC(now.getYear(),now.getMonth(),now.getDate(),now.getHours(),now.getMinutes(),now.getSeconds()) - 欢迎各位访问86oo.com

Date.UTC(now.getYear(),now.getMonth(),now.getDate(),0,0,0);

difference = 1000*60*60*24 - difference;

var hoursDifference = Math.floor(difference/1000/60/60);

difference = difference - hoursDifference*1000*60*60

var minutesDifference = Math.floor(difference/1000/60);

difference = difference - minutesDifference*1000*60

var secondsDifference = Math.floor(difference/1000);

if (hoursDifference > 0) {

string += hoursDifference + ' hour';

if (hoursDifference > 1) string +='s';

string += ' ';

}

86oo.com

if (minutesDifference > 0) {

string += minutesDifference + ' minute';

if (minutesDifference > 1) string +='s';

string += ' ';

}

if (secondsDifference > 0) {

string += secondsDifference + ' second';

if (secondsDifference > 1) string +='s';

string += ' ';

}

return string;

}

调用例子,例如现在到31/12/1999还有多久。

document.write(timeTillDate(31,12,1999));

//-SCRIPT>

11。如何从一个日期中减掉几个小时

var date = new Date();

var date = new Date(Date.UTC(date.getYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds()) - 5*60*60*1000);

www.86oo.com

document.write(date);

//-SCRIPT>

12。如何在一个日期中增加几个月后并能够正确显示出来

function makeArray() {

for (i = 0; i

this[i + 1] = makeArray.arguments[i];

}

var months = new makeArray('January','February','March','April',

'May','June','July','August','September',

'October','November','December');

function nths(day) {

if (day == 1 || day == 21 || day == 31) return 'st';

else if (day == 2 || day == 22) return 'nd'; 86oo.com提供各类教程

else if (day == 3 || day == 23) return 'rd';

else return 'th';

}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function monthsahead(noofmonths) {

var today = new Date();

var date = new Date(today.getYear(),today.getMonth() + noofmonths,today.getDate(),today.getHours(),today.getMinutes(),today.getSeconds())

return date.getDate() + nths(date.getDate()) + ' ' + months[date.getMonth() + 1] + ' ' + y2k(date.getYear())

}

调用例子:

document.write(monthsahead(6));

//-SCRIPT>

posted on 2007-12-14 15:25 飞鸟 阅读(843) 评论(0)  编辑  收藏 所属分类: AJAX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值