jQuery时间验证和转换为标准格式的时间格式


Posted in Javascript onMarch 06, 2017

最近整理文档发现一篇文章,可以将时间转换成标准格式的时间,发出来给大家参考一下。

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 trigger实现联动的方法
Feb 29 Javascript
BootStrap 可编辑表Table格
Nov 24 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
vue双向数据绑定原理探究(附demo)
Jan 17 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
webpack学习教程之publicPath路径问题详解
Jun 17 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
详解VueJS 数据驱动和依赖追踪分析
Jul 26 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
vue 修改 data 数据问题并实时显示的方法
Aug 27 Javascript
关于layui 弹出层一闪而过就消失的解决方法
Sep 09 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
Bootstrap导航中表单简单实现代码
Mar 06 #Javascript
基于JS实现仿百度百家主页的轮播图效果
Mar 06 #Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 #Javascript
Bootstrap导航简单实现代码
Mar 06 #Javascript
Bootstrap栅格系统简单实现代码
Mar 06 #Javascript
javascript DOM的详解及实例代码
Mar 06 #Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 #Javascript
You might like
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
程序员编程十条戒律
2009/07/09 PHP
PHP 文件上传全攻略
2010/04/28 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
js在IE与firefox的差异集锦
2014/11/11 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
python海龟绘图实例教程
2014/07/24 Python
跟老齐学Python之Python安装
2014/09/12 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
python正则表达式的使用
2017/06/12 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
浅谈Python的list中的选取范围
2018/11/12 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
汉语专业应届生求职信
2013/10/01 职场文书
五年级英语教学反思
2014/01/31 职场文书
护士试用期自我鉴定
2014/02/08 职场文书
店面销售职位的职责
2014/03/09 职场文书
三万活动总结
2014/04/28 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
流动人口婚育证明
2014/10/19 职场文书
投标承诺函格式
2015/01/21 职场文书
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记