zoukankan      html  css  js  c++  java
  • JavaScript日期对象使用总结

    javascript Date日期对象的创建

     

    创建一个日期对象:

    var objDate=new Date([arguments list]);

    我总结了參数形式主要有下面3种:

    new Date("month dd yyyy hh:mm:ss");

    //后面的hh:mm:ss可选(不选的话就是默认的開始时间),并且前三项的顺序能够任意。甚至各字段后面能够加逗号

    new Date(yyyy,mth,dd,hh,mm,ss);

          //除了前两个字段(年、月字段)外。其余的都是可选的(不选的话就默觉得開始的)。只是,此处顺序最好别任意变换

    new Date(ms);

    //參数表示的是须要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义例如以下:

    month:用英文表示月份名称。从January到December

    mth:用整数表示月份,从(1月)到11(12月)

    dd:表示一个月中的第几天,从1到31

    yyyy:四位数表示的年份

    hh:小时数,从0(午夜)到23(晚11点)

    mm:分钟数,从0到59的整数

    ss:秒数。从0到59的整数

    ms:毫秒数,为大于等于0的整数

    JavaScript中的日期(Date)

     

    日期对象Date object是用来对日期和时间进行操作的。

    —————————————————————————–

    定义一个日期对象

    使用关键词new来定义一个Date对象,如以下样例中所看到的,定义一个名为myDate的日期对象:

    var myDate=new Date()

    注意:日期对象会自己主动取当前的日期和时间为初始值。

    ——————————————————————————-

    对日期进行操作

    使用Date对象的函数能够方便的对日期进行操作。

    在以下的样例中我们设置一个日期对象为一个指定的日期值(2010年1月14日):

    var myDate=new Date()

    myDate.setFullYear(2010,0,14)

    在以下的样例中我们将myDate的值设为5天后:

    var myDate=new Date()

    myDate.setDate(myDate.getDate()+5)

    注意:假设添加5天后进入另外一个月或一年,Date对象会自己主动处理的。

    ———————————————————————————

    对日期进行比較

    使用Date对象能够对日期进行比較。 以下的样例将今天的日期与2010年1月14日进行比較:

    var myDate=new Date()

    myDate.setFullYear(2010,0,14)var today = new Date()

    if (myDate>today)

    alert("今天还没到2010年1月14日")

    else

    alert("今天已经过了2010年1月14日")

    ——————————————————————————–

    例:显示当前的日期和时间

    <html>

    <body><script type="text/javascript">

    document.write(Date())

    </script>

    </body>

    </html>

    ————————————————————————

    例:getTime()函数

    使用getTime()函数计算自1970年后已经过了多少年

    <html>

    <body><script type="text/javascript">

    var minutes = 1000*60

    var hours = minutes*60

    var days = hours*24

    var years = days*365

    var d = new Date()

    var t = d.getTime()

    var y = t/years

    document.write("It’s been: " + y + " years since 1970/01/01!")

    </script>

    </body>

    </html>

    ———————————————————————–

    例:函数setFullYear()

    使用setFullYear()函数来设置一个日期

    <html>

    <body><script type="text/javascript">

    var d = new Date()

    d.setFullYear(1992,10,3)

    document.write(d)

    </script>

    </body>

    </html>

    —————————————————————————

    例:函数toUTCString()

    使用toUTCString()函数将今天的日期转换为一个字符串

    <html>

    <body><script type="text/javascript">

    var d = new Date()

    document.write (d.toUTCString())

    </script>

    </body>

    </html>

    ——————————————————————————

    例:函数getDay()

    使用getDay()函数和一个数组来写出星期几

    <html>

    <body><script type="text/javascript">

    var d=new Date()

    var weekday=new Array(7)

    weekday[0]="Sunday"

    weekday[1]="Monday"

    weekday[2]="Tuesday"

    weekday[3]="Wednesday"

    weekday[4]="Thursday"

    weekday[5]="Friday"

    weekday[6]="Saturday"

    document.write("Today it is " + weekday[d.getDay()])

    </script>

    </body>

    </html>

    ——————————————————————————–

    例:显示一个时钟

    <html>

    <head>

    <script type="text/javascript">

    function startTime()

    {

    var today=new Date()

    var h=today.getHours()

    var m=today.getMinutes()

    var s=today.getSeconds()

    // add a zero in front of numbers<10

    m=checkTime(m)

    s=checkTime(s)

    document.getElementById('txt').innerHTML=h+":"+m+":"+s

    t=setTimeout('startTime()' ,500)

    }function checkTime(i)

    {

    if (i<10)

    {i="0" + i}

    return i

    }

    </script>

    </head>

    <body onload="startTime()">

    <div id="txt"></div>

    </body>

    </html>

    (转自:http://www.prglab.com/blog/js-tutorial/js-string   程序实验室)

    javascript的日期对象Date操作时间日期值

     

    JavaScript的日期对象操控时间和日期值
    软件开发中一个比較棘手的内容是使用时间和日期值;似乎每种语言或者每种平台都有自己的格式。在Web开发过程中。你能够使用server端的代码来操控日期。你也能够使用JavaScript的日期(Date)对象来实现相同的目的。在今天的专栏里,我们将细致看看这个对象。

    使用日期

    JavaScript里使用时间和日期值很easy。这要从创建日期对象的一个实例開始:

    var d = new Date(); 
    这会使用当前的日期和时间在变量d里返回一个日期对象的实例。这个日期对象包含多个用于訪问和操控其值的方法和属性。

    以下的列表列出了用于訪问日期值的方法:

    getDate():返回月份里的日期。 
    getDay():返回星期几。每周从星期六開始(06)。 
    getFullYear():返回四位数的年份。

     
    getMonth():返回月份。 
    getYear():返回两位数的年份。

     
    getUTCDate():依据协调世界时(UTC)返回月份里的日期。 
    getUTCMonth():依据协调世界时(011)返回月份。 
    getUTCFullYear():依据协调世界时返回四位数的年份。

     
    注:维基百科全书(Wikipedia)将协调世界时定义为一种高精度的原子时间标准,它大约相当于世界时(UT)。

    关于JavaScript和日期须要注意的一点是。它使用从197011日午夜起的毫秒数来保存日期。这叫做历元(epoch)。不论什么在这个日期之前的日期和时间都是不被同意的。

    正如Listing A里说明的。使用前面一个列表里的方法是非常easy明了的。你须要注意的是日期和星期中的天的值是从零開始的,所以须要向它们加入一个值以显示它们真正的值。你能够非常容易就使用一个数组来显示星期几。列表B里是JavaScript代码。

    你没有被限制仅仅使用当前的日期。日期对象能够用传递给它的值初始化,就像以下这样:

    var d = new Date("date value");

    利用这样的方式。我们能够改动前面的样例来使用特定的日期。列表C代表了一种发现给定值的周日期的简单方法。代码会生成以下的结果:

    Today is: Wednesday 4/15/1979
    UTC is: Wednesday 4/15/1979

    其实,创建日期对象实例的方式有四种:

    var d = new Date();
    var d = new Date(′July 4, 1976′);
    var d = new Date(7, 4, 1976);
    var d = new Date(7, 4, 1976, 12,00,00);

    我们已经讲了前两个(要注意的是可能会用到单引號或者圆括号)。

    最后两个依照以下的格式使用了单独的整数參数(时间是可选的):

    var d = new Date(month, day, year, hour, minutes, seconds);

    填充日期对象的第二种方式是利用setDate方法。

    它提供了一种重置日期对象的值或者初始化它的方式,可是这要求有一个真正的JavaScript日期对象:

    Var d1 = new Date();
    var d2 = new Date("7/4/1976");
    d1.setDate(d2.getDate());

    填充日期对象的各种属性的固定方法还有非常多。可是在讨论它们之前我们先来看看时间吧。

    除了日期组件,日期对象也保存了时间信息。以下的方法可以訪问到日期对象的时间信息:

    getHours():返回时间的小时部分。 
    getMinutes():返回时间的分钟部分。 
    getSeconds():返回时间的秒部分。 
    getMilliseconds():返回时间的毫秒部分。

     
    getTime():返回自从197011日午夜以来的毫秒数。

     
    getTimezoneOffset():返回本地时间与格里尼治标准时间(GMT)之间的分钟差。

     
    getUTCHours():依据协调世界时返回时间的小时部分。 
    getUTCMinutes():依据协调世界时返回时间的分钟部分。 
    getUTCSeconds():依据协调世界时返回时间的秒部分。

     
    getUTCMilliseconds():依据协调世界时返回时间的毫秒部分。

     
    如前所述,你能够通过传递小时、分钟和秒来初始化日期对象。可是毫秒属性要通过setMilliseconds方法来设置。

    以下这段JavaScript代码会显示当前的时间:

    <script language="javascript">
    var d = new Date();
    document.write(d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds() + 
    ":" + d.getMilliseconds());
    document.write(d.getTime());
    </script>

    它会显示以下的输出:

    12:36:33:41
    1146760593041

    秒值有点奇怪。由于它显示的是自从197011日午夜到保存在被參考的日期对象里的值的毫秒数。在寻找两个值之间的不同之处时,这十分实用。对于日期值,另一个setTime方法能够使用:

    Var dt1 = new Date();
    var dt2 = new Date(1970, 4, 15);
    dt1.setTime(dt2.getTime());

    设置属性

    就像setTimesetDatesetMilliseconds方法一样。有一些方法可以填充日期对象的全部部分。这包含以下这些:

    setFullYear 
    setHours 
    setMinutes 
    setMilliseconds 
    setMonth 
    setSeconds 
    setUTCFullYear 
    setUTCMonth 
    setUTCHours 
    setUTCSeconds 
    setUTCMilliseconds 
    这些方法让你可以非常easy就通过传递新的值来又一次设置日期属性。可以使用和显示日期是非常好的,可是有的时候你须要对日期和时间进行计算。

    最简单的计算是两个数字的加减(你可能不允许这个观点),所以找到两个JavaScript日期值之间的区别很easy。你仅仅用找到这一区别并将其作为一个数字返回即可了。

    结果是一个以毫秒为单位的日期值。所以你必须进行除法以获得所须要的值的类型(天、月、分钟、小时等等)。

    以下的JavaScript代码用来计算到某个日期的天数。它(通过getTime)把两个日期值相减,再把得到的结果用一天的毫秒数(86400000)来除,最后得到天数:

    <script type="text/javascript">
    var d1 = new Date();
    var d2 = new Date(2006, 6, 7);
    var day = 1000*60*60*24;
    var diff = Math.ceil((d2.getTime()-d1.getTime())/(day));
    document.write("Days until vacation: " + diff);
    </script>

    日期的计算

    利用对应的属性对所须要的值进行加减,日期值的各种属性能够添加或者降低。

    比如。假设你想要把值添加一个月,那么你就要对月份值加一。列表D里的样例显示了前一个脚本里昨天和今天的差值。以下就是输出的结果:

    Days until vacation: 50
    Tomorrow it will be 49 days until vacation.
    Yesterday, it was 51 days until vacation.

    是时候了

    使用日期和时间值有其自身的限制。这依据平台有所不同。而Web开发却没有区别。JavaScript的日期对象提供了一种简单的方式来使用日期和时间值。可是还是有一些东西须要记住,比方一周七天和月份的编号方式,以及一些方法的格式。一旦你适应了这样的方式。它们就不难记住了。要记住的一件重要事情是,日期或者事件的准确性取决于查看页面的计算机上的时钟。

  • 相关阅读:
    帝国 标签模板 使用程序代码 去除html标记 并 截取字符串
    iis6 伪静态 iis配置方法 【图解】
    您来自的链接不存在 帝国CMS
    帝国cms Warning: Cannot modify header information headers already sent by...错误【解决方法】
    .fr域名注册 51元注册.fr域名
    帝国网站管理系统 恢复栏目目录 建立目录不成功!请检查目录权限 Godaddy Windows 主机
    星外虚拟主机管理平台 开通数据库 出现Microsoft OLE DB Provider for SQL Server 错误 '8004' 从字符串向 datetime 转换失败
    ASP.NET 自定义控件学习研究
    CSS层叠样式表之CSS解析机制的优先级
    ASP.NET程序员工作面试网络收藏夹
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5202988.html
Copyright © 2011-2022 走看看