>웹 프론트엔드 >JS 튜토리얼 >Javascript_4_Date 객체

Javascript_4_Date 객체

黄舟
黄舟원래의
2017-01-18 16:26:431065검색

Javascript_4_Date 객체

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>javascript演示6_Date对象</title>
    </head>
    <body>
    <h1>javascript演示6_Date对象</h1>
    <script type="text/javascript" src="a.js">    </script>
    <script type="text/javascript">
        //Date对象
        /*
         * Date 对象
启用基本存储器并取得日期和时间。
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date
                [, hours[, minutes[, seconds[,ms]]]]) 
参数
dateObj
必选项。要赋值为 Date 对象的变量名。
dateVal
必选项。如果是数字值,dateVal 表示指定日期
与 1970 年 1 月 1 日午夜间全球标准时间 的毫秒数。
如果是字符串,则 dateVal 按照 parse 方法中的规则进行解析。
dateVal 参数也可以是从某些 ActiveX(R) 对象返回的 VT_DATE 值。
year
必选项。完整的年份,比如,1976(而不是 76)。
month
必选项。表示的月份,是从 0 到 11 之间的整数( 1 月至 12 月)。
date
必选项。表示日期,是从 1 到 31 之间的整数。
hours
可选项。 如果提供了 minutes 则必须给出。表示小时,
是从 0 到 23 的整数(午夜到 11pm)。
minutes
可选项。 如果提供了 seconds 则必须给出。表示分钟,是从 0 到 59 的整数。
seconds
可选项。 如果提供了 milliseconds 则必须给出。表示秒钟,是从 0 到 59 的整数。
ms
可选项。 表示毫秒,是从 0 到 999 的整数。
说明
Date 对象保存以毫秒为单位表示特定时间段。
如果某个参数的值大于其范围或为负数,则存储的其他值将做相应的调整。
例如,如果指定 150 秒,JScript 将该数字重新定义为 2 分 30 秒。 
如果数字为 NaN,则表示该对象不代表特定的时间段。
如果未向 Date 对象传递参数,它将被初始化为当前时间 (UTC)。
在能够使用该对象前必须为其赋值。 
Date 对象能够表示的日期范围约等于 1970 年 1 月 1 日前后各 285,616 年。 
Date 对象具有两个不创建 Date 对象就可以调用的静态方法。
它们是 parse 和 UTC。 
错误
下面的示例演示了 Date 对象的用法。
function DateDemo(){
   var d, s = "Today&#39;s date is: ";           // 声明变量。
   d = new Date();                           // 创建 Date 对象。
   s += (d.getMonth() + 1) + "/";            // 获取月份。
   s += d.getDate() + "/";                   // 获取日。
   s += d.getYear();                         // 获取年份。
   return(s);                                // 返回日期。
}
属性
方法
getDate 方法 | getDay 方法 | getFullYear 方法 
| getHours 方法 | getMilliseconds 方法 | getMinutes 方法 
| getMonth 方法 | getSeconds 方法 | getTime 方法 
| getTimezoneOffset 方法 | getUTCDate 方法 
| getUTCDay 方法 | getUTCFullYear 方法 | getUTCHours 方法 
| getUTCMilliSeconds 方法 | getUTCMinutes 方法 
| getUTCMonth 方法 | getUTCSeconds 方法 | getVarDate 方法 
| getYear 方法 | setDate 方法 | setFullYear 方法 | setHours 方法 
| setMilliSeconds 方法 | setMinutes 方法 | setMonth 方法 
| setSeconds 方法 | setTime 方法 | setUTCDate 方法 
| setUTCFullYear 方法 | setUTCHours 方法 | setUTCMilliseconds 方法
| setUTCMinutes 方法 | setUTCMonth 方法 | setUTCSeconds 方法 
| setYear 方法 | toGMTString 方法 | toLocaleString 方法 
| toUTCString 方法 | toString 方法 | valueOf 方法 
| parse 方法 | UTC 方法
         * 
         * 
         * getTime 方法
返回 Date 对象中的时间值。
dateObj.getTime()
必选项 dateObj 参数为 Date 对象。
说明
getTime 方法返回一个整数值,
这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。
日期的范围大约是 1970 年 1 月 1 日午夜的前后各 285,616 年。
负数代表 1970 年之前的日期。
在进行各种日期和时间换算的时候,可以定义一些变量来表示一天、
一个小时或一分钟中包含的毫秒数。这样做通常是很有帮助的。例如:
var MinMilli = 1000 * 60
var HrMilli = MinMilli * 60
var DyMilli = HrMilli * 24
示例
下面这个例子说明了 getTime 方法的用法: 
function GetTimeTest(){
   var d, s, t;
   var MinMilli = 1000 * 60;
   var HrMilli = MinMilli * 60;
   var DyMilli = HrMilli * 24;
   d = new Date();
   t = d.getTime();
   s = "It&#39;s been "
   s += Math.round(t / DyMilli) + " days since 1/1/70";
   return(s);
}
         *
         * 
         * setTime 方法
设置 Date 对象的日期和时间值。
dateObj.setTime(milliseconds)
参数
dateObj
必选项。任意 Date 对象。
milliseconds
必选项。是一个整数值,
它代表从格林威治标准时间(GMT)的 1970 年 1 月 1 日午夜开始所经过的毫秒数。 
说明
如果 milliseconds 是一个负值,那它就表示 1970 年之前的日期。
可用的日期范围大约是 1970 年 1 月 1 日午夜的前后各 285,616 年。 
使用 setTime 方法来设置日期和时间与时区无关。
下面这个例子说明了 setTime 方法的用法。 
function SetTimeTest(newtime){
   var d, s;                  // 声明变量。
   d = new Date();            // 创建 Date 对象。
   d.setTime(newtime);        // 设置时间。
   s = "Current setting is ";
   s += d.toUTCString();
   return(s);                 // 返回新的设置。
}
         *  
         */
        var date=new Date();
        println(date);//Sun Nov 10 11:56:15 UTC+0800 2013
        println(date.toLocaleString());//2013年11月10日 星期日 11:58:12
        println(date.toLocaleDateString());//2013年11月10日 星期日
        
        println(date.toGMTString());//Sun, 10 Nov 2013 03:59:51 UTC
        println(date.toUTCString());//Sun, 10 Nov 2013 03:59:51 UTC
        
        var year=date.getFullYear();
        var month=date.getMonth();//0~11代表1月到12月
        var day=date.getDate();//月中某一天
        var week=date.getDay();//星期中某天
        println(year+"年"+month+"月"+day+"日"+"星期"+week);
        //2013年10月10日星期0
        //下面是改进版!
        var weeks=["星期日","星期1","星期2","星期3","星期4","星期5","星期6"];
        var year=date.getFullYear();
        var month=date.getMonth()+1;//0~11代表1月到12月
        var day=date.getDate();//月中某一天
        var week=weeks[date.getDay()];//星期中某天
        println(year+"年"+month+"月"+day+"日"+week);
        //2013年11月10日星期日
        
        //毫秒值和日期之间的转换!
        //日期转成毫秒值,通过getTime()方法
        println(date.getTime());//1384056655000
        //毫秒值转成日期对象,2种方法,
        //第1种:通过构造方法new Date(毫秒值)
        var date=new Date(1384056655000);        
        println(date.toLocaleString());//2013年11月10日 星期日 12:10:55
        //第2种:通过setTime(毫秒值)方法
        date.setTime(1384056655000);
        println(date.toLocaleString());//2013年11月10日 星期日 12:10:55
        /*
         * 
         * parse 方法
解析一个包含日期的字符串,
并返回该日期与 1970 年 1 月 1 日午夜之间所间隔的毫秒数。
Date.parse(dateVal)
其中必选项 dateVal 是一个包含以诸如 "Jan 5, 1996 08:47:00" 的格式
表示的日期的字符串,或者是一个从 ActiveX(R) 对象
或其他对象中获取的 VT_DATE 值。 
parse 方法返回一个整数值,
这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。 
parse 方法是 Date 对象的一个静态方法。
正因为它是一个静态方法,它是通过下面例子中所示的方法被调用的,
而不是作为一个已创建 Date 对象的一个方法被调用。 
var datestring = "November 1, 1997 10:15 AM";
Date.parse(datestring)
下面这些规则决定了 parse 方法能够成功地解析那些字符串: 
短日期可以使用“/”或“-”作为日期分隔符,
但是必须用月/日/年的格式来表示,例如"7/20/96"。 
以 "July 10 1995" 形式表示的长日期中的年、月、日可以按任何顺序排列,
年份值可以用 2 位数字表示也可以用 4 位数字表示。
如果使用 2 位数字来表示年份,那么该年份必须大于或等于 70。 
括号中的任何文本都被视为注释。这些括号可以嵌套使用。 
逗号和空格被视为分隔符。允许使用多个分隔符。 
月和日的名称必须具有两个或两个以上的字符。
如果两个字符所组成的名称不是独一无二的,
那么该名称就被解析成最后一个符合条件的月或日。
例如,"Ju" 被解释为七月而不是六月。 
在所提供的日期中,
如果所指定的星期几的值与按照该日期中剩余部分所确定的星期几的值不符合,
那么该指定值就会被忽略。例如,尽管 1996 年 11 月 9 日实际上是星期五,
"Tuesday November 9 1996" 也还是可以被接受并进行解析的。
但是结果 Date 对象中包含的是 "Friday November 9 1996"。 
JScript 处理所有的标准时区,
以及全球标准时间 (UTC) 和格林威治标准时间 (GMT)。 
小时、分钟、和秒钟之间用冒号分隔,尽管不是这三项都需要指明。
"10:"、"10:11"、和 "10:11:12" 都是有效的。 
如果使用 24 小时计时的时钟,那么为中午 12 点之后的时间指定 "PM" 是错误的。
例如 "23:15 PM" 就是错误的。 
包含无效日期的字符串是错误的。
例如,一个包含有两个年份或两个月份的字符串就是错误的。 
示例
下面这个例子说明了 parse 方法的用法: 
function GetTimeTest(testdate){
   var s, t;                    // 声明变量。
   var MinMilli = 1000 * 60;       // 初始化变量。
   var HrMilli = MinMilli * 60;
   var DyMilli = HrMilli * 24;
   t = Date.parse(testdate);       // 解析 testdate。
   s = "There are "                // 创建返回的字符串。
   s += Math.round(Math.abs(t / DyMilli)) + " days "
   s += "between " + testdate + " and 1/1/70";
   return(s);                      // 返回结果。
}
         * 
         */
        //parse解析字符串,返回毫秒数
        //静态方法,不需要对象
        //月/日/年的格式
        //日期转字符串:toLocaleString和toLocaleDateString
        //下面演示字符串转成日期对象:先parse成毫秒值,再new
        var str="9/22/2013";
        var time=Date.parse(str);
        var date=new Date(time);
        println(date.toLocaleString());//2013年9月22日 星期日 0:00:00
    </script>
    </body>
</html>


위 내용은 Javascript_4_Date 객체의 내용이며, 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고해주세요. (www.php.cn) !


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.