Jquery时间验证和转换工具小例子


Posted in Javascript onJuly 01, 2013
var TimeObjectUtil;
/**
 * @title 时间工具类
 * @note 本类一律违规验证返回false
 * @author {boonyachengdu@gmail.com}
 * @date 2013-07-01
 * @formatter "2013-07-01 00:00:00" , "2013-07-01"
 */
TimeObjectUtil = {
    /**
     * 获取当前时间毫秒数
     */
    getCurrentMsTime : function() {
        var myDate = new Date();
        return myDate.getTime();
    },
    /**
     * 毫秒转时间格式
     */
    longMsTimeConvertToDateTime : function(time) {
        var myDate = new Date(time);
        return this.formatterDateTime(myDate);
    },
    /**
     * 时间格式转毫秒
     */
    dateToLongMsTime : function(date) {
        var myDate = new Date(date);
        return myDate.getTime();
    },
    /**
     * 格式化日期(不含时间)
     */
    formatterDate : function(date) {
        var datetime = date.getFullYear()
                + "-"// "年"
                + ((date.getMonth() + 1) > 10 ? (date.getMonth() + 1) : "0"
                        + (date.getMonth() + 1))
                + "-"// "月"
                + (date.getDate() < 10 ? "0" + date.getDate() : date
                        .getDate());
        return datetime;
    },
    /**
     * 格式化日期(含时间"00:00:00")
     */
    formatterDate2 : function(date) {
        var datetime = date.getFullYear()
                + "-"// "年"
                + ((date.getMonth() + 1) > 10 ? (date.getMonth() + 1) : "0"
                        + (date.getMonth() + 1))
                + "-"// "月"
                + (date.getDate() < 10 ? "0" + date.getDate() : date
                        .getDate()) + " " + "00:00:00";
        return datetime;
    },
    /**
     * 格式化去日期(含时间)
     */
    formatterDateTime : function(date) {
        var datetime = date.getFullYear()
                + "-"// "年"
                + ((date.getMonth() + 1) > 10 ? (date.getMonth() + 1) : "0"
                        + (date.getMonth() + 1))
                + "-"// "月"
                + (date.getDate() < 10 ? "0" + date.getDate() : date
                        .getDate())
                + " "
                + (date.getHours() < 10 ? "0" + date.getHours() : date
                        .getHours())
                + ":"
                + (date.getMinutes() < 10 ? "0" + date.getMinutes() : date
                        .getMinutes())
                + ":"
                + (date.getSeconds() < 10 ? "0" + date.getSeconds() : date
                        .getSeconds());
        return datetime;
    },
    /**
     * 时间比较{结束时间大于开始时间}
     */
    compareDateEndTimeGTStartTime : function(startTime, endTime) {
        return ((new Date(endTime.replace(/-/g, "/"))) > (new Date(
                startTime.replace(/-/g, "/"))));
    },
    /**
     * 验证开始时间合理性{开始时间不能小于当前时间{X}个月}
     */
    compareRightStartTime : function(month, startTime) {
        var now = formatterDayAndTime(new Date());
        var sms = new Date(startTime.replace(/-/g, "/"));
        var ems = new Date(now.replace(/-/g, "/"));
        var tDayms = month * 30 * 24 * 60 * 60 * 1000;
        var dvalue = ems - sms;
        if (dvalue > tDayms) {
            return false;
        }
        return true;
    },
    /**
     * 验证开始时间合理性{结束时间不能小于当前时间{X}个月}
     */
    compareRightEndTime : function(month, endTime) {
        var now = formatterDayAndTime(new Date());
        var sms = new Date(now.replace(/-/g, "/"));
        var ems = new Date(endTime.replace(/-/g, "/"));
        var tDayms = month * 30 * 24 * 60 * 60 * 1000;
        var dvalue = sms - ems;
        if (dvalue > tDayms) {
            return false;
        }
        return true;
    },
    /**
     * 验证开始时间合理性{结束时间与开始时间的间隔不能大于{X}个月}
     */
    compareEndTimeGTStartTime : function(month, startTime, endTime) {
        var sms = new Date(startTime.replace(/-/g, "/"));
        var ems = new Date(endTime.replace(/-/g, "/"));
        var tDayms = month * 30 * 24 * 60 * 60 * 1000;
        var dvalue = ems - sms;
        if (dvalue > tDayms) {
            return false;
        }
        return true;
    },
    /**
     * 获取最近几天[开始时间和结束时间值,时间往前推算]
     */
    getRecentDaysDateTime : function(day) {
        var daymsTime = day * 24 * 60 * 60 * 1000;
        var yesterDatsmsTime = this.getCurrentMsTime() - daymsTime;
        var startTime = this.longMsTimeConvertToDateTime(yesterDatsmsTime);
        var pastDate = this.formatterDate2(new Date(startTime));
        var nowDate = this.formatterDate2(new Date());
        var obj = {
            startTime : pastDate,
            endTime : nowDate
        };
        return obj;
    },
    /**
     * 获取今天[开始时间和结束时间值]
     */
    getTodayDateTime : function() {
        var daymsTime = 24 * 60 * 60 * 1000;
        var tomorrowDatsmsTime = this.getCurrentMsTime() + daymsTime;
        var currentTime = this.longMsTimeConvertToDateTime(this.getCurrentMsTime());
        var termorrowTime = this.longMsTimeConvertToDateTime(tomorrowDatsmsTime);
        var nowDate = this.formatterDate2(new Date(currentTime));
        var tomorrowDate = this.formatterDate2(new Date(termorrowTime));
        var obj = {
            startTime : nowDate,
            endTime : tomorrowDate
        };
        return obj;
    },
    /**
     * 获取明天[开始时间和结束时间值]
     */
    getTomorrowDateTime : function() {
        var daymsTime = 24 * 60 * 60 * 1000;
        var tomorrowDatsmsTime = this.getCurrentMsTime() + daymsTime;
        var termorrowTime = this.longMsTimeConvertToDateTime(tomorrowDatsmsTime);
        var theDayAfterTomorrowDatsmsTime = this.getCurrentMsTime()+ (2 * daymsTime);
        var theDayAfterTomorrowTime = this.longMsTimeConvertToDateTime(theDayAfterTomorrowDatsmsTime);
        var pastDate = this.formatterDate2(new Date(termorrowTime));
        var nowDate = this.formatterDate2(new Date(theDayAfterTomorrowTime));
        var obj = {
            startTime : pastDate,
            endTime : nowDate
        };
        return obj;
    }
};
Javascript 相关文章推荐
jQuery动态设置form表单的enctype值(实现代码)
Jul 04 Javascript
JS调用页面表格导出excel示例代码
Mar 18 Javascript
jquery表单验证需要做些什么
Nov 17 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
Jun 17 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
jQuery中的siblings()是什么意思(推荐)
Dec 29 Javascript
移动端基础事件总结与应用
Jan 12 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
发布订阅模式在vue中的实际运用实例详解
Jun 09 Javascript
Vue如何实现监听组件原生事件
Jul 03 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
Jul 01 #Javascript
js函数排序的实例代码
Jul 01 #Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 #Javascript
jQuery提交多个表单的小例子
Jun 30 #Javascript
用jquery存取照片的具体实现方法
Jun 30 #Javascript
js正文内容高亮效果的实现方法
Jun 30 #Javascript
Jquery网页出现的乱码问题的三种解决方法
Jun 30 #Javascript
You might like
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
PHP中常用的魔术方法
2017/04/28 PHP
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
python实现多进程代码示例
2018/10/31 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
通过实例解析python and和or使用方法
2020/11/14 Python
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
网络信息管理员岗位职责
2014/01/05 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
小学生成长感言
2014/01/30 职场文书
医院信息公开实施方案
2014/05/09 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android