Date对象具有多种构造函数,下面简单列举如下:

  new Date()
  new Date(milliseconds)
  new Date(datestring)
  new Date(year, month)
  new Date(year, month, day)
  new Date(year, month, day, hours)
  new Date(year, month, day, hours, minutes)
  new Date(year, month, day, hours, minutes, seconds)
  new Date(year, month, day, hours, minutes, seconds, microseconds)

下面对以上几个构造函数进行简单的分析:

  1.new Date(),没有参数的时候,创建的是当前时间日期对象。
  2.new Date(milliseconds),当参数为数字的时候表示毫秒数,创建一个距离1970年1月一日指定毫秒的时间日期对象。
  3.new Date(datestring),此参数是一个字符串,并且此字符串一定要能够使用Date.parse(datestring)转换。

    parse() 方法可解析一个日期时间字符串,并返回 1970年1月1日午夜距离该日期时间的毫秒数。
    语法:Date.parse(datestring)
    参数:datestring 是必需的,表示日期和时间的字符串。
    该方法是 Date 对象的静态方法。一般采用 Date.parse() 的形式来调用,而不是通过 dateobject.parse() 调用该方法。

  4.以下是其余六个构造函数的精确定义:
    1)year,是一个整数,如果是0-99,那么在此基础上加1900,其他的都原样返回。
    2)month,是一个整数,范围是0-11。
    3)day,是一个整数,范围是1-31。
    4)hours,是一个整数,范围是0-23。
    5)minutes,是一个整数,范围是0-59。
    6)seconds,是一个整数,范围是0-59。
    7)microseconds,是一个整数,范围是0-9999。

 var myDate = new Date();
 myDate.getYear(); //获取当前年份(2位)
 myDate.getFullYear(); //获取完整的年份(4位,1970-????)
 myDate.getMonth(); //获取当前月份(0-11,0代表1月)
 myDate.getDate(); //获取当前日(1-31)
 myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
 myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
 myDate.getHours(); //获取当前小时数(0-23)
 myDate.getMinutes(); //获取当前分钟数(0-59)
 myDate.getSeconds(); //获取当前秒数(0-59)
 myDate.getMilliseconds(); //获取当前毫秒数(0-999)
 myDate.toLocaleDateString(); //获取当前日期
 var mytime=myDate.toLocaleTimeString(); //获取当前时间
 myDate.toLocaleString( ); //获取日期与时间 

下面是js代码实例:

  window.onload=function(){
        var nowtime = new Date();//获取当前系统时间对象
        alert("nowtime:"+nowtime);
        var nowdate = nowtime.Format("yyyy-MM-dd hh:mm:ss");//格式化当前系统时间
        alert("nowdate:"+nowdate);

        var datestring = nowtime.getTime();//获取当前系统时间的时间戳
        alert("datestring:"+datestring);
        var mytime = new Date(datestring);//将时间戳转化为日期时间对象
        alert("mytime:"+mytime);

        var mydate = "2016-07-07 00:00:01";
        if(compareTime(mydate, nowdate)){//进行日期时间比较
            alert("指定时间没过期");
        }else{
            alert("指定时间已过期");
        }
    }

    //比较yyyy-MM-dd hh:mm:ss格式的日期时间大小
    function compareTime(startDate, endDate) {
        var startDateTemp = startDate.split(" ");
        var endDateTemp = endDate.split(" ");   

        var arrStartDate = startDateTemp[0].split("-");
        var arrEndDate = endDateTemp[0].split("-");   

        var arrStartTime = startDateTemp[1].split(":");
        var arrEndTime = endDateTemp[1].split(":");   

        var allStartDate = new Date(arrStartDate[0], arrStartDate[1], arrStartDate[2], arrStartTime[0], arrStartTime[1], arrStartTime[2]);
        var allEndDate = new Date(arrEndDate[0], arrEndDate[1], arrEndDate[2], arrEndTime[0], arrEndTime[1], arrEndTime[2]);
        if (allStartDate.getTime() >= allEndDate.getTime()) {
            return true;
        } else {
            return false;
        }
    } 

    /*
    日期格式化:
      对Date的扩展,将 Date 转化为指定格式的String
      年(y)可以用1-4个占位符,季度(q)可以用1-2个占位符.
      月(M)、日(d)、小时(h)、分(m)、秒(s)可以用1-2个占位符.
      毫秒(S)只能用1个占位符(是1-3位的数字)
    例子:
      (new Date()).Format("yyyy-MM-dd hh:mm:ss.S")
      (new Date()).Format("yyyy-MM-dd hh:mm:ss.S毫秒 第qq季度")
    */
    Date.prototype.Format = function (fmt) {
        var o = {
            "M+": this.getMonth() + 1, //月
            "d+": this.getDate(), //日
            "h+": this.getHours(), //时
            "m+": this.getMinutes(), //分
            "s+": this.getSeconds(), //秒
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度
            "S" : this.getMilliseconds() //毫秒
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]):(("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }

Javascript中日期函数的相关操作的更多相关文章

  1. JavaScript中的DOM及相关操作

    一.什么是DOM JavaScript由ECMAScript.DOM和BOM三部分组成,其中DOM代表描述网页内容的方法和接口,即文档对象模型(Document Object Model).在网页上, ...

  2. 深入理解JavaScript中的函数操作——《JavaScript忍者秘籍》总结

    匿名函数 对于什么是匿名函数,这里就不做过多介绍了.我们需要知道的是,对于JavaScript而言,匿名函数是一个很重要且具有逻辑性的特性.通常,匿名函数的使用情况是:创建一个供以后使用的函数.简单的 ...

  3. JavaScript中Eval()函数的作用

    这一周感觉没什么写的,不过在研究dwz源码的时候有一个eval()的方法不是很了解,分享出来一起学习 -->首先来个最简单的理解 eval可以将字符串生成语句执行,和SQL的exec()类似. ...

  4. 浅析 JavaScript 中的 函数 currying 柯里化

    原文:浅析 JavaScript 中的 函数 currying 柯里化 何为Curry化/柯里化? curry化来源与数学家 Haskell Curry的名字 (编程语言 Haskell也是以他的名字 ...

  5. Javascript中的函数(三)

    一:概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质 ...

  6. Javascript中的函数数学运算

    1.Math函数与属性使用语法 Math.方法名(参数1,参数2,...); Math.属性; 说明 Math函数可以没有参数,比如Math.random()函数,或有多个参数,比如Math.max( ...

  7. JavaScript中的函数表达式

    在JavaScript中,函数是个非常重要的对象,函数通常有三种表现形式:函数声明,函数表达式和函数构造器创建的函数. 本文中主要看看函数表达式及其相关的知识点. 函数表达式 首先,看看函数表达式的表 ...

  8. Javascript中的函数(Function)与对象(Object)的关系

    今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我. 注意:官方定义: 在Javascript中,每一个函数实际上都是一 ...

  9. sql数据库中日期函数---2017-04-12

    一.SQLServer时间日期函数详解 1.  当前系统日期.时间 select getdate() 2. dateadd      在向指定日期加上一段时间的基础上,返回新的 datetime 值 ...

随机推荐

  1. 多拉A梦——日语歌词

    こんなこといいな できたらいいな 这件事真好啊 能够做到的话就好啦 あんな梦(ゆめ) こんな梦(ゆめ) いっぱいあるけど 那样的梦想 这样的梦想 我还有好多哪 みんなみんなみんな かなえてくれる 大家 ...

  2. Discuz2 x3深入研究内容资料

    http://blog.csdn.net/yanhui_wei/article/category/1136193

  3. ecshop搜索出现相关商品的效果滑动下拉效果

    ecshop搜索栏效果如下 所需要的样式我们可以复制到style.css里: /*搜索滑动效果*/ .Menu { position:absolute; top:30px; left:7px; wid ...

  4. Python 深拷贝和浅拷贝

    Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果. 下面本文就通过简单的例子介绍一下这些概念之间的差别. 对象赋值 直接看一段代码: will= ...

  5. java.lang.IllegalStateException异常简单分析和简单解决

    我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流. 例如在JSP使用: response.reset(); response.setContentType(”application/ ...

  6. linux ubuntu12.04 解压中文zip文件,解压之后乱码

    在windows下压缩后的zip包,在ubuntu下解压后显示为乱码问题 1.zip文件解压之后文件名乱码: 第一步 首先安装7zip和convmv(如果之前没有安装的话) 在命令行执行安装命令如下: ...

  7. 《利用python进行数据分析》读书笔记--第十章 时间序列(三)

    7.时间序列绘图 pandas时间序列的绘图功能在日期格式化方面比matplotlib原生的要好. #-*- coding:utf-8 -*- import numpy as np import pa ...

  8. 2016年11月8日 星期二 --出埃及记 Exodus 19:24

    2016年11月8日 星期二 --出埃及记 Exodus 19:24 The LORD replied, "Go down and bring Aaron up with you. But ...

  9. Winform容器标签 打印标签 对话框控件

    一.容器标签 布局: Anchor:锁定位置,指定与窗口容器的边缘位置,会随着窗口大小的改变而改变: Dock:填充窗口的位置.一般与容器标签同时使用. 1.Panel:对控件进行分组.可以独立布局, ...

  10. mysql分库分表

    1.分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表mem ...