`

Date 常用的日期共通处理归纳一

阅读更多

可做成CommonFunctions的一些常用的日期共通处理归纳一:日期有效性的相关检查

 

 

////////////////////////////////////////
//
// 检查输入日期是否为有效日期
//
// 参数:pYYYY:4位年
// 参数:pMM:2位月
// 参数:pDD:2位日
//
// 有效日期:FALSE
// 无效日期:TRUE
//
////////////////////////////////////////

function existYYYYMMDD(pYYYY, pMM, pDD) {

    if (isNaN(pYYYY) || pYYYY <= 0 ) {
        return true;
    } else if (isNaN(pMM) || pMM <= 0 || pMM > 12) {
        return true;
    } else if (isNaN(pDD) || pDD <= 0 || pDD > 31) {
        return true;
    }

    var nowY = parseInt(pYYYY, 10);
    var nowM = parseInt(pMM, 10) - 1;
    var nowD = parseInt(pDD, 10);
    var nowYMD = new Date(nowY, nowM, nowD);

    var tempY = nowYMD.getFullYear().toString();
    var tempM = (nowYMD.getMonth() + 1).toString();
    var tempD = nowYMD.getDate().toString();

    var tempYYYYMMDD = paddingZero(tempY, 4) + paddingZero(tempM, 2) + paddingZero(tempD, 2);
    var strYYYYMMDD = paddingZero(pYYYY, 4) + paddingZero(pMM, 2) + paddingZero(pDD, 2);

    if (tempYYYYMMDD != strYYYYMMDD) {
        return true;
    }

    return false;
}

 

 

////////////////////////////////////////
//
// 检查输入日期是否在未来三个月内
//
// 参数:pSysDate:当前系统日期
// 参数:pCheckDate:被检查的输入日期
//
// 有效日期:FALSE
// 无效日期:TRUE
//
////////////////////////////////////////
function isFutureDate(pSysDate, pCheckDate) {
    var dateNow = new Date(pCheckDate);

    var dateNowSys = new Date(pSysDate);
    var fromY = dateNowSys.getFullYear();
    var fromM = dateNowSys.getMonth() + 1;
    var toM = dateNowSys.getMonth() + 4;
    var fromD = dateNowSys.getDate();

    var dateNowFrom = new Date(fromY + "/" + fromM + "/" + fromD);

    var dateCount = (Date.parse(dateNow) - Date.parse(dateNowFrom))/1000/60/60/24;

    if (dateCount < 0) {
        alert("请输入日期在未来三个月以内的有效日期。");
        return true;
    }

    var dateNowTo = new Date(fromY + "/" + toM + "/" + fromD);

    dateCount = (Date.parse(dateNowTo) - Date.parse(dateNow))/1000/60/60/24;

    var dateMothTemp = new Date(fromY + "/" + (dateNowSys.getMonth() + 4) + "/" + "01");

    var dateYearTemp = dateNowTo.getFullYear();
    if (dateYearTemp % 4 == 0 && dateYearTemp % 100 != 0 || dateYearTemp % 400 == 0) {
        if (dateNowTo.getMonth() != dateMothTemp.getMonth()) {
            dateCount -= 1;
        }
    } else {
        if (dateNowTo.getMonth() != dateMothTemp.getMonth()) {
            if (dateMothTemp.getMonth() == 1) {
                dateCount -= 2;
            } else {
                dateCount -= 1;
            }
        }
    }

    if (dateCount < 0) {
        alert("请输入日期在未来三个月以内的有效日期。");
        return true;
    }
}

 

 

////////////////////////////////////////
//
// 检查输入时间是否符合12小时制
//
// 参数:pHH:时间小时
// 参数:pMI:时间秒
//
// 有效日期:FALSE
// 无效日期:TRUE
//
////////////////////////////////////////
function isTime12(pHH, pMI) {

    if (pHH == "" || pMI == "") {
        return true;
    }

    var iHH = eval(pHH);
    var iMI = eval(pMI);
    if(isNaN(pHH) || iHH < 0 || iHH >= 12) {
        return true;
    } else if (isNaN(pMI) || iMI < 0 || iMI >= 60) {
        return true;
    }

    return false;
}

 

 

////////////////////////////////////////
//
// 检查输入时间是否符合24小时制
//
// 参数:pHH:时间小时
// 参数:pMI:时间秒
//
// 有效日期:FALSE
// 无效日期:TRUE
//
////////////////////////////////////////
function isTime24 (pHH, pMI) {

    if (pHH == "" || pMI == "") {
        return true;
    }

    var iHH = eval(pHH);
    var iMI = eval(pMI);
    if (isNaN(pHH) || iHH < 0 || iHH >= 24) {
        return true;
    } else if (isNaN(pMI) || iMI < 0 || iMI >= 60) {
        return true;
    }

    return false;
}

 

 

 

 

 

分享到:
评论

相关推荐

    日期类 Date 日期的基本运算

    日期类 Date 是一种常用的数据结构,在程序设计中经常被使用。它通常包含年、月、日等私有数据成员,并需要实现日期的基本运算,如一日期加上天数、一日期减去天数、两日期相差的天数。 在实现日期类 Date 时,我们...

    NextDate()函数判断输入日期的下一天(C语言编写)

    根据给定的信息,本文将详细解释“NextDate()函数判断输入日期的下一天(C语言编写)”这一知识点。文章将分为几个部分:背景介绍、关键函数解析、日期合法性检查功能解析以及完整的程序运行逻辑。 ### 背景介绍 ...

    PKG_DATE_UTIL.zip_PKG DATE_pkg date_日期处理

    `PKG_DATE_UTIL.zip_PKG DATE_pkg date_日期处理`这个压缩包提供了一个专门用于日期处理的工具,名为`PKG_DATE_UTIL`。下面将详细阐述这个工具的主要功能及其在实际应用中的价值。 首先,`PKG_DATE_UTIL`主要关注的...

    Java_Date_日期时间整理

    Java_Date_日期时间整理 Java 中的日期时间处理是非常重要的,以下是 Java 中日期时间整理的知识点总结: 一、获取服务器端当前日期 在 Java 中,可以使用 `java.util.Date` 类来获取服务器端当前日期。可以使用...

    JsonObject转换Date日期

    JsonObject转换Date日期的时候出现问题解决date封装成json数据出现的问题

    dateWeb_日期_date_

    1. **JavaScript Date对象**:在Web开发中,JavaScript是最常用的语言之一,它的内置Date对象是处理日期和时间的基础。Date对象允许我们创建日期实例,获取和设置年、月、日、小时、分钟等信息,以及执行日期运算。...

    实现日期加1的一个Date类

    标题提到的"实现日期加1的一个Date类"正是这样一个自定义的类,它允许用户对日期进行增加一天的操作,并且提供了设置日期的功能。以下是对这个Date类可能实现的详细说明: 首先,Date类通常会包含私有成员变量来...

    Date日期操作工具类

    在Java编程中,Date类是处理日期和时间的基础类,但在实际开发中,由于Date类本身的API设计并不十分友好,通常我们会使用工具类来简化日期的处理工作。本主题聚焦于一个名为"Date日期操作工具类"的实用工具,它提供...

    Date4j,一个简约的日期处理类库

    Date4j是一个轻量级的日期处理类库,它的出现为Java开发者提供了一种更为简单易用的方式来处理日期和时间。这个库的目标是简化日期计算,避免使用Java标准库中的`java.util.Date`和`java.util.Calendar`这些复杂的...

    C++实现日期类(Date类)的方法

    在C++编程语言中,创建自定义的日期类(Date类)是一种常见的需求,用于处理日期相关的操作。下面我们将深入探讨如何实现一个简单的Date类,包括其构造函数、运算符重载以及辅助方法。 首先,Date类通常包含年(_year)...

    bootstrap-daterangepicker- 基于 Bootstrap 框架的日期范围选择控件

    Bootstrap-daterangepicker 是一个高度可定制且功能丰富的日期范围选择插件,它建立在流行的前端框架 Bootstrap 之上。这个插件允许用户在网页上方便地选取一个日期范围,通常用于筛选数据或者设置时间跨度,比如在...

    pickerDateRange日期范围选取

    综上所述,`pickerDateRange`日期范围选取是UI交互中的一个重要组成部分,涉及到多种技术的结合,包括前端框架、日期处理库和移动原生API。开发者需要关注用户体验、错误处理、性能和无障碍性等多个方面,以构建出...

    VB Julian date 与日期的互转

    在编程领域,日期和时间的处理是常见的任务之一。在VB(Visual Basic)环境中,有时候我们需要将日期转换为朱利安日(Julian Date),这是一种特殊的日期表示方式,主要用于天文学和气象学,但也在软件开发中有所...

    NextDate程序给出日期的下一天

    在IT领域,面向对象编程(Object-Oriented Programming, OOP)是一种常用的设计思想,它将现实世界中的问题转化为计算机程序。在这个特定的案例中,我们讨论的是一个名为"NextDate"的C++程序,其功能是计算并返回...

    date_date_

    在给定的标题“date_date_”中,我们可以推测这是一个关于创建自定义DATE类的项目,该类将包含处理日期的相关功能。描述中提到,这个类会接受两个日期作为输入,并能够进行变量替换和输出时间。这里我们将深入探讨...

    Date日期时间 各种转换

    在Java开发中,处理日期与时间是常见的需求之一。本文将详细介绍如何使用Java进行日期时间的转换,并解释代码中涉及的关键概念和技术点。通过本篇文章,您将能够掌握多种日期时间格式的转换方法。 #### 重要知识点 ...

    Java中Date和Calendar日期处理

    关于java中date和Calendar日期处理小结,包含一些常用方法等

    Oracle Date常用方法封装

    5. **自定义日期处理函数**:在PackageBody `ZL_Date_Service` 中,可以封装这些常用操作为自定义函数和过程,如`ADD_BUSINESS_DAYS`用于添加工作日,`GET_WEEK_START`和`GET_WEEK_END`用于获取一周的起始和结束日期...

    Javascript 日期对象Date扩展

    Date对象扩展,包括常用中文日期格式解析、加减操作、日期差、周操作和季操作。具体扩展的方法如下: parseCHS--静态方法。解析常用的中文日期并返回日期对象。 add--日期加减操作。[注:此函数在上传时还存在...

    Java日期时间处理类 date4j

    Java日期时间处理在编程中是一项常见任务,但Java标准库中的`java.util.Date`和`Calendar`类在使用上往往被认为复杂且不直观。为了解决这个问题,`date4j`库应运而生,它提供了更为简洁和现代的方式来处理日期和时间...

Global site tag (gtag.js) - Google Analytics