`

JavaScript中實現數據庫中的dateadd與datediff方法,很實用的!

阅读更多

SQLServer 中有两个非常好用的日期操作函数:DATEADD(即dateadd)用来给日期添加指定时间间隔,DATEDIFF(即datediff)用来返回两个日期的时间间隔。可惜的是JavaScript没有,最近在项目中经常需要调用这两个函数,没法子,只好自己来写一个。

DateAdd函数:
程序代码

function DateAdd(interval,number,date){
    switch(interval.toLowerCase()){
        case "y": return new Date(date.setFullYear(date.getFullYear()+number));
        case "m": return new Date(date.setMonth(date.getMonth()+number));
        case "d": return new Date(date.setDate(date.getDate()+number));
        case "w": return new Date(date.setDate(date.getDate()+7*number));
        case "h": return new Date(date.setHours(date.getHours()+number));
        case "n": return new Date(date.setMinutes(date.getMinutes()+number));
        case "s": return new Date(date.setSeconds(date.getSeconds()+number));
        case "l": return new Date(date.setMilliseconds(date.getMilliseconds()+number));
    }
}
 

DateDiff函数:
程序代码

function DateDiff(interval,date1,date2){
    var long = date2.getTime() - date1.getTime(); //相差毫秒
    switch(interval.toLowerCase()){
        case "y": return parseInt(date2.getFullYear() - date1.getFullYear());
        case "m": return parseInt((date2.getFullYear() - date1.getFullYear())*12 + (date2.getMonth()-date1.getMonth()));
        case "d": return parseInt(long/1000/60/60/24);
        case "w": return parseInt(long/1000/60/60/24/7);
        case "h": return parseInt(long/1000/60/60);
        case "n": return parseInt(long/1000/60);
        case "s": return parseInt(long/1000);
        case "l": return parseInt(long);
    }
}
 
分享到:
评论

相关推荐

    获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用

    代码如下:SELECT ABS(DATEDIFF(dd,... 您可能感兴趣的文章:MySQL时间字段究竟使用INT还是DateTime的说明JavaScript自定义DateDiff函数(兼容所有浏览器)JavaScript版DateAdd和DateDiff函数代码asp DateDiff实现文字

    asp 开发各种小功能

    提供的文档和压缩包中包含了会员注册相关验证代码、服务器信息获取、ASP与ACCESS数据库的连接及操作、ASP分页实现、JavaScript表单验证、防止未登录用户非法连接的Session处理、ASCII码对照表,以及在线编辑Word和...

    ASP闹钟程序_time2.zip

    ASP(Active Server Pages)是一种微软开发的服务器端脚本环境,用于创建动态...这个程序的完整实现将涉及到数据库交互、时间处理、用户界面和服务器端定时功能等多个方面,提供了一种在Web环境中实现定时提醒的方法。

    网页版万年历

    在ASP中,我们通常使用内置的对象如Date()函数来获取当前日期,或者使用DateAdd()和DateDiff()函数进行日期的加减操作。通过这些函数,我们可以计算出任意年份、月份的日历,展示每一天的日期。 其次,这个网页版...

    javascript中对Date类型的常用操作小结

    但由于给出的示例中没有具体的方法实现,所以需要根据实际应用场景自行开发。 3. 日期和时间合法性验证:Date.isValiDateTime 结合日期和时间的合法性验证方法。同样,由于示例不全,需要自行开发。 4. 判断是否为...

    ASP-date.rar_asp date

    总之,"ASP-date.rar_asp date"这个资源很可能包含了一系列关于如何在ASP环境中进行日期处理和数据库操作的示例代码或教程,帮助开发者更好地理解和应用这部分技术。解压并研究这些文件将有助于深化对ASP日期操作和...

    sqlserver,Asp.net,Jquery小总结

    以下是一些实用的SQL Server函数来实现这个目标: 1. 获取当前日期所在周的第一天: ```sql DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0) ``` 2. 获取当前日期所在周的最后一天: ```sql DATEADD(SECOND, -1, ...

    ASP日期及动态时间

    5. **动态时间**: 在网页上显示动态时间,通常需要定时更新,这可以通过JavaScript与服务器端的ASP配合实现。服务器端获取当前时间并传递给客户端,然后使用JavaScript的`setInterval`函数每隔一定时间(比如每秒)...

    asp时间控件

    在ASP中,有若干日期时间处理函数,如Date()返回当前日期,Now()返回当前日期和时间,DateAdd()用于添加或减去一定时间间隔,DateDiff()计算两个日期之间的差值等。理解并熟练使用这些函数是处理日期时间的关键。 ...

    VBScript基础

    - 日期/时间函数:Date, Time, DateAdd, DateDiff等。 9. **WScript与WSH**: - WScript是Windows Script Host的一部分,允许在命令行环境中运行VBScript脚本。 - WSH提供了一些核心对象,如WScript.Shell用于...

    面试--DBA30问

    - **内置函数**:日期函数(DATEADD、DATEDIFF等)、数学函数(ABS、CEILING等)、字符串函数(LEFT、RIGHT等)等。 - **设计注意点**:规范化设计,避免数据冗余;合理选择数据类型;考虑事务隔离级别对性能的影响...

    微软官方《VBScript语言参考》CHM VBScript语言参考

    在ASP环境中,VBScript可以用于创建服务器端的动态网页,与HTML、CSS和JavaScript结合,实现丰富的交互功能。 以下是一些VBScript的关键知识点: 1. **基本语法**:VBScript的语法简洁明了,与Visual Basic类似,...

    ASP页面版选择日期功能

    在ASP页面中实现日期选择功能,通常是通过HTML元素(如`<input type="date">`)或者JavaScript库(如jQuery UI的Datepicker)来完成的,然后与服务器端的ASP代码进行交互,处理用户的选择。 在ASP页面中,日期选择...

    VBScript 5.5文档

    在VBScript 5.5的帮助下,开发者可以编写客户端的JavaScript替代方案,实现服务器端的ASP(Active Server Pages)脚本,为网页增加动态元素。 VBScript 5.5文档包含了许多关键知识点,以下是一些核心概念的详细解释...

    ASP20个技巧介绍 ASP20个技巧介绍

    8. **日期时间处理**:运用`Date()`、`Now()`、`Time()`函数和`DateAdd()`、`DateDiff()`等方法处理日期和时间。 9. **URL编码与解码**:使用`Server.URLEncode()`和`Server.URLDecode()`函数处理URL中的特殊字符。...

    ASP源码—日历事件应用.zip

    5. **日期和时间处理**:在ASP中,处理日期和时间的函数如Date()、Now()、DateAdd()、DateDiff()等将被用来生成和操作日历。开发者需要理解这些函数的用法,以便正确地展示当前日期、计算日期差,以及添加和比较事件...

    SQL Server本地时间和UTC时间的相互转换实现代码

    总之,理解和掌握在SQL Server中进行本地时间与UTC时间转换的技巧是数据库管理的重要组成部分,特别是在构建跨时区的分布式系统时。正确处理这些时间差异可以避免日志记录混乱、报表错误以及其他潜在的问题。

    时间戳、装换时间的方法

    以下是一些常见编程语言中操作时间戳的方法: 1. **Java**: - 获取Unix时间戳:`java.util.Date` 类的 `getTime()` 方法返回自1970年以来的毫秒数,除以1000即可得到Unix时间戳。 - 将Unix时间戳转换为普通时间...

    统计用户在线时间统计用户在线时间

    通过以上步骤,你可以在ASP环境中实现用户在线时间的统计。然而,为了获取更准确的用户行为数据,还可以考虑结合其他技术,如JavaScript心跳机制、Ajax请求或Websocket等,实时发送用户活动信息到服务器,从而提供更...

    asp网络日历源代码

    ASP的核心优势在于其简单易用性以及与现有数据库技术的紧密集成能力。 ##### 2.2 代码逻辑解析 - **初始化与日期处理**:首先检查用户是否提供了`ReqDate`参数来指定查看的日期。如果没有提供,则默认显示当前月份...

Global site tag (gtag.js) - Google Analytics