`
jlj008
  • 浏览: 96706 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript日期处理函数大全

阅读更多

1。解决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);
    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;
}

4。如何将一个下拉列表框中的月份传递到另一页
<FORM>
<SELECT NAME="selectName">
<OPTION>January
<OPTION>February
<OPTION>March
<OPTION>April
<OPTION>May
<OPTION>June
<OPTION>July
<OPTION>August
<OPTION>Spetember
<OPTION>October
<OPTION>November
<OPTION>December
</SELECT>
<INPUT TYPE="BUTTON" VALUE="Go" onClick="window.location.href = 'nextpage.html?' +
this.form.selectName.options[this.form.selectName.selectedIndex].text">
</FORM>

在nextpage.html中加入下面的代码
<FORM name="formName"><INPUT TYPE="TEXT" name="textName"><FORM>
<SCRIPT LANGUAGE="JavaScript"><
document.formName.textName.value = location.search.substring(1);
//-SCRIPT>

或则:
<SCRIPT LANGUAGE="JavaScript"><
document.write("<FORM><INPUT TYPE='TEXT' ");
document.write("VALUE='"location.search.substring(1)+"FORM>")
//-SCRIPT>

5。如何将一个字符串中的时间和当前时间做比较
<SCRIPT LANGUAGE="JavaScript">
/*其中的日期字符串可有以下格式:
   格式 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,
                            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,
                            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;
}
调用的例子如下:
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');
//-
</SCRIPT>

6。如何根据一个人的生日计算他的岁数
<SCRIPT LANGUAGE="JavaScript"><
/*其中的日期字符串可有以下格式:
   格式 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();
    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));
    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));
    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;
    }

    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在网页中显示日期
<SCRIPT LANGUAGE = 'JavaScript'>
<!-
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);
//-
</SCRIPT>

8。如何使用下面的格式date month year在网页中显示日期
<SCRIPT LANGUAGE = 'JavaScript'>
<!-
function makeArray() {
     for (i = 0; i<makeArray.arguments.length; 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);
//-
</SCRIPT>[page]

9.如何让我的网页的最近更新日期更易读
<SCRIPT LANGUAGE = 'JavaScript'><
function makeArray0() {
     for (i = 0; i<makeArray0.arguments.length; i++)
          this[i] = makeArray0.arguments[i];
}
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';
               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。如何显示到某个特定日期的倒记时
<SCRIPT LANGUAGE="JavaScript"><
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 = '';

    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';
        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()) -
                     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 += ' ';
    }

    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。如何从一个日期中减掉几个小时
<SCRIPT LANGUAGE = 'JavaScript'><
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);
document.write(date);
//-SCRIPT>

12。如何在一个日期中增加几个月后并能够正确显示出来
<SCRIPT LANGUAGE="JavaScript"><
function makeArray() {
    for (i = 0; i<makeArray.arguments.length; 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';
    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>

http://www.cnblogs.com/yamajia/archive/2006/11/25/571939.html

分享到:
评论

相关推荐

    javascript教程&函数大全.rar

    文件名中的“函数大全”暗示了这个教程可能详细介绍了JavaScript的内置函数,例如Math对象用于数学运算,Date对象处理日期和时间,Array对象的方法如map()、filter()、reduce()用于数组操作,还有String对象的方法如...

    JavaScript日期函数大全[文].pdf

    JavaScript日期函数是编程中处理时间数据的关键工具,尤其在网页应用和数据分析中有着广泛的应用。在JavaScript中,Date对象提供了多种方法来创建、操作和格式化日期。以下是一些常用的JavaScript日期函数及其详解:...

    经常用到的javascript日期函数库啊

    本文将详细介绍一个实用的JavaScript日期函数库,包括其核心功能及使用方法。 #### 二、核心功能 根据提供的部分代码片段,我们可以总结出该日期函数库的核心功能如下: 1. **isLeapYear**:判断当前日期是否为...

    javascript 日期时间函数(经典+完善+实用)

    本文档将详细介绍一系列实用且功能全面的JavaScript日期时间处理函数,包括判断是否为闰年、日期格式化、日期加减计算、日期比较等。 #### 2. 日期时间脚本库方法列表 下面逐一介绍这些函数及其用法: ##### 2.1 ...

    分享小知识点JavaScript字符串函数大全

    从给定的文件标题“分享小知识点JavaScript字符串函数大全”以及描述“JavaScript字符串函数大全 JS自带函数”,我们可以归纳出一系列JavaScript中的字符串处理函数及其用法。以下是对这些知识点的详细阐述: ### 1...

    JavaScript的一些工具函数的封装包括url的参数处理数字字符串日期等相关操作函数

    再者,日期处理是JavaScript开发中的一大挑战,因为浏览器的原生`Date`对象有时并不能满足所有需求。这个工具库可能包含了自定义的日期格式化函数,如`formatDate`,它可以将日期对象按照用户指定的格式(如'YYYY-MM...

    Javascript日期函数

    以下是对给定文件中提到的JavaScript日期函数的详细解释: 1. **增加或减小月份**: 这个函数`addMonth(dtDate, NumDay)`用于增加或减少指定日期的月份。它接受两个参数,一个是日期字符串(如"2008-11-22"),另...

    JavaScript 日期处理库

    以下是一些JavaScript日期处理库的核心概念和功能: 1. **Moment.js**: Moment.js是最受欢迎的JavaScript日期库之一,它提供了丰富的日期和时间操作方法。例如,你可以轻松地解析、验证、操作和格式化日期。例如: ...

    javascript函数 javascript函数

    ### 字符串处理函数 1. **trim()**: 此函数用于去除字符串两端的空白字符(包括空格、制表符、换页符等)。在JavaScript中,`String.prototype.trim()` 方法是ECMAScript 5标准的一部分,可以非常方便地应用于任何...

    javascript日期处理函数,性能优化批处理

    总体来说,JavaScript日期处理函数的性能优化是通过减少不必要的正则匹配操作和引入缓存机制来实现的。通过实际的代码示例和性能数据,可以看出这些优化措施对于提升程序的执行效率非常有效。对于需要进行大规模日期...

    javascript常用函数 javascript 常用库

    在JavaScript中,函数是代码的可重用部分,它们可以接受参数并返回值,是实现程序模块化的重要手段。在JavaScript的常用库中,我们可以找到许多方便的公共方法,这些方法极大地提高了开发效率。 一、JavaScript常用...

    javascript日期函数

    在"日期函数.txt"文件中,可能包含了各种使用JavaScript日期函数的示例和技巧,包括如何处理时区、比较日期、计算日期差等。学习这些示例有助于加深对JavaScript日期功能的理解。 总的来说,理解和熟练使用...

    Javascript 常用函数大全

    #### 一、文本处理函数 ##### 1. `trim()` - **功能描述**:用于去除字符串两端的空白字符(包括空格、制表符、换行符等)。 - **语法格式**: ```javascript string.trim() ``` - **示例代码**: ```...

    javascript函数的解释

    此外,JavaScript还有丰富的内置对象,如`Math`用于数学运算,`Date`处理日期和时间,`Array`、`Boolean`等处理数据类型,以及`Element`和`Document`对象用于DOM操作。例如,`innerHTML`和`innerText`用于获取或设置...

    JavaScript工具类函数库

    本资源是一个精心编写的JavaScript工具类函数库,包含了多种实用的日期处理、数值计算、字符串操作等工具函数。它提供了如日期格式化、天数判断、数组处理等功能,适用于前端开发中的各种场景。函数库采用ES6模块化...

    javascript日期格式化

    这些库简化了日期处理,并支持多种语言和复杂的格式。 总的来说,JavaScript的日期格式化涉及到`Date`对象的使用、自定义函数的编写以及可能的第三方库的引入。理解这些基本概念,结合实际需求,可以帮助你更好地...

    JavaScript日期处理类库Moment.js.zip

    Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和NodeJS两种环境中运行。此类库能够将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,...

    Javascript函数帮助手册

    综上所述,"JavaScript函数帮助手册"涵盖了函数的定义、参数、返回值以及与时间对象相关的各种操作,包括日期的获取和设置、时间的格式化、时间差计算,还涉及到了定时器、事件处理以及异步编程等重要概念。...

Global site tag (gtag.js) - Google Analytics