zoukankan      html  css  js  c++  java
  • 从头开始学JavaScript (十三)——Date类型

    说明:UTC:国际协调日期

    GMT:格林尼治标准时间

    一、date类型的创建

    使用new操作符和Date()构造函数

    var now=new Date();

    传入参数:Date.parse()和Date.UTC()

    方法 描述 备注及栗子
    parse(datestring) 指定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数 静态方法.
    语法:Date.parse(datestring)
    1 <script type="text/javascript">
    2 
    3     var d = Date.parse("Jan 1, 2015");
    4         document.write(d);
    5 
    6     </script>

    UTC(year,month,day,hours,

    minutes,seconds,ms)

    根据世界时间,获得一个日期,
    然后返回1970年1月1日午夜到该日期的毫秒数
    静态方法.
    year必需。表示年份的四位数字
    month必需。表示月份的整数,介于 0 ~ 11
    day必需。表示日期的整数,介于 1 ~ 31
    hours可选。表示小时的整数,介于 0 ~ 23
    minutes可选。表示分钟的整数,介于 0 ~ 59
    seconds可选。表示秒的整数,介于 0 ~ 59
    ms可选。表示毫秒的整数,介于 0 ~ 999
    1  <script type="text/javascript">
    2         var d = Date.UTC(2015,1,21);
    3         document.write(d);      
    4     </script>

    在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。

    二、继承的方法

    方法 描述 备注及栗子
    valueOf() 返回日期的毫秒表示
      <script type="text/javascript">    
             var date1 = new Date(2015, 0, 21); 
             var date2 = new Date(2015, 1, 20);
             alert(date1.valueOf()); //毫秒数 
             alert(date1 < date2);  //true
             alert(date1 > date2);  //false
     </script>
    toString() 把 Date 对象转换为字符串

     输出格式因浏览器而异

    <script type="text/javascript">
             var date1 = new Date(2015, 0, 21);
             var date2 = new Date(2015, 1, 20);
            document.write(date1.toString()); 
    //Wed Jan 21 2015 00:00:00 GMT+0800 (中国标准时间) </script>
    toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串

     输出格式因浏览器而异

    <script type="text/javascript">
             var date1 = new Date();
             var date2 = new Date(2015, 1, 20);
            document.write(date1.toLocaleString()); 
    //2015/1/21 下午2:51:51 </script>

    三、日期格式化方法

    方法 描述
    toDateString() 把 Date 对象的时间部分转换为字符串
    toTimeString() 把 Date 对象的日期部分转换为字符串
    toUTCString() 根据世界时,把 Date 对象转换为字符串
    toLocaleDateString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串
    toLocaleTimeString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串

    针对以上方法举个栗子

    1 <script type="text/javascript">
    2         var date1 = new Date();
    3        document.write(date1.toDateString()+"</br>"); //Wed Jan 21 2015
    4         document.write(date1.toTimeString()+"</br>"); // 15:00:04 GMT+0800 (中国标准时间)
    5         document.write(date1.toLocaleDateString()+"</br>"); //2015/1/21
    6         document.write(date1.toLocaleTimeString()+"</br>"); //下午3:00:04
    7         document.write(date1.toUTCString()+"</br>"); //Wed, 21 Jan 2015 07:00:04 GMT
    8     </script>

    以上这些方法的输出也是因浏览器而异,我用的是chrome浏览器

    四、日期/时间组件方法

    方法 描述 备注
    getFullYear() 返回年(四位数字)  
    getDate() 返回一个月中的某一天(1 ~ 31)  
    getDay() 返回一周中的某一天(0 ~ 6) 返回值是0(周日)到6(周日)之间的一个整数
    getMonth() 返回月份(0 ~ 11)  
    getHours() 返回小时(0 ~ 23)  
    getMinutes() 返回分钟(0-59)  
    getSeconds() 返回秒(0-59)  
    getMilliseconds() 返回毫秒(0-999)  
    getTime() 返回1970.1.1至今的毫秒  
    setFullYear(year,month,day) 设置对象中的年份(四位数字) year必须的,month可选的,day可选的
    setMonth(month,day) 设置对象中的month(1-12) month必须的,day可选的
    setDate(day) 设置对象中的day(1-31) day必须的
    setHours(hour,min,sec,millisec) 设置小时(0-23) hour必须的,min可选的,sec可选的,millisec可选的
    setMinutes(min,sec,millisec) 设置分钟(0-59) min必须的,sec可选的,millisec可选的
    setSeconds(sec,millisec) 设置秒钟(0-59) sec必须的,millisec可选的
    setMilliseconds(millisec) 设置毫秒(0-999) millisec必须的
    setTime(millisec)

    通过向1970.1.1午夜时间添加/减去

    指定数目的毫秒来计算时间

    millisec必须的

    栗子在这里:

     1 function displayAll(){
     2             display("Date:"+Date());        
     3             display("getFullYear:"+date.getFullYear());
     4             display("getDate:"+date.getDate());
     5             display("getDay:"+date.getDay()); 
     6             display("getMonth:"+date.getMonth());               
     7             display("getHours:"+date.getHours());
     8             display("getMinutes:"+date.getMinutes());
     9             display("getSeconds:"+date.getSeconds());
    10             display("getMilliseconds:"+date.getMilliseconds());
    11             display("getTime:"+date.getTime());
    12             display("<hr/>");
    13         }
    14         
    15         function setAll(){
    16             date.setFullYear(2009,10,1);
    17             date.setHours(1,1,1,1);
    18         }
    19         
    20         var date = new Date();        
    21         displayAll();
    22         setAll();
    23         displayAll();

    输出结果:

    getFullYear:2015
    getDate:21
    getDay:3
    getMonth:0
    getHours:15
    getMinutes:15
    getSeconds:33
    getMilliseconds:67
    getTime:1421824533067



    getFullYear:1992
    getDate:1
    getDay:0
    getMonth:10
    getHours:1
    getMinutes:1
    getSeconds:1
    getMilliseconds:1
    getTime:720550861001


     
    方法(UTC) 描述 备注
    getTimezoneOffset() 返回本地时间与格林威治标准时间的分钟差 (GMT) -480
    getUTCFullYear() 根据世界时返回月中的一天 (1 ~ 31)  
    getUTCMonth() 根据世界时返回月份 (0 ~ 11)  
    getUTCDate() 根据世界时返回月中的一天 (1 ~ 31)  
    getUTCDay() 根据世界时返回周中的一天 (0 ~ 6)  
    getUTCHours() 根据世界时返回小时 (0 ~ 23)  
    getUTCMinutes() 根据世界时返回分钟 (0 ~ 59)  
    getUTCSeconds() 根据世界时返回秒钟 (0 ~ 59)  
    getUTCMilliseconds() 根据世界时返回毫秒(0 ~ 999)  
    setUTCFullYear(year,month,day) 根据世界时 (UTC) 设置年份 year必须,含有世纪值的完整年份
    month可选,0 ~ 11 之间的整数
    day可选,1 ~ 31 之间的整数
    setUTCMonth(month,day) 根据世界时 (UTC) 设置月份 month可选,0 ~ 11 之间的整数
    day可选,1 ~ 31 之间的整数
    setUTCDate(day) 根据世界时 (UTC) 设置一个月中的某一天 必需.该参数是 1 ~ 31 之间的整数
    setUTCHours(hour,min,sec,millisec) 根据世界时 (UTC) 来设置指定时间的小时 hour必须,min可选,sec可选,millisec可选
    setUTCMinutes(min,sec,millisec) 根据世界时 (UTC) 来设置指定时间的分钟 min必须,sec可选,millisec可选
    setUTCSeconds(sec,millisec) 根据世界时 (UTC) 来设置指定时间的秒钟 sec必须,millisec可选
    setUTCMilliseconds(millisec) 根据世界时 (UTC) 来设置指定时间的毫秒 millisec必须
    新鲜出炉的栗子:
     1 <script type="text/javascript">
     2         
     3         display("Date:"+Date());
     4         
     5         function displayAll(){
     6             display("getUTCFullYear:"+date.getUTCFullYear());
     7             display("getUTCDate:"+date.getUTCDate());
     8             display("getUTCDay:"+date.getUTCDay()); 
     9             display("getUTCMonth:"+date.getUTCMonth());               
    10             display("getUTCHours:"+date.getUTCHours());
    11             display("getUTCMinutes:"+date.getUTCMinutes());
    12             display("getUTCSeconds:"+date.getUTCSeconds());
    13             display("getUTCMilliseconds:"+date.getUTCMilliseconds());
    14             display("<hr/>");
    15         }
    16         
    17         function setAll(){
    18             date.setUTCFullYear(1992,10,1);
    19             date.setUTCHours(1,1,1,1);
    20         }
    21         
    22         var date = new Date();        
    23         displayAll();
    24         setAll();
    25         displayAll();
    26         
    27     </script>

    输出结果:

    getUTCFullYear:2015
    getUTCDate:21
    getUTCDay:3
    getUTCMonth:0
    getUTCHours:7
    getUTCMinutes:22
    getUTCSeconds:13
    getUTCMilliseconds:554



    getUTCFullYear:1992
    getUTCDate:1
    getUTCDay:0
    getUTCMonth:10
    getUTCHours:1
    getUTCMinutes:1
    getUTCSeconds:1
    getUTCMilliseconds:1


     
     
  • 相关阅读:
    HDU 1075 What Are You Talking About(字典树)
    HDU 1075 What Are You Talking About (stl之map映射)
    HDU 1247 Hat’s Words(字典树活用)
    字典树HihoCoder
    HDU 1277全文检索(字典树)
    HDU 3294 Girls' research(manachar模板题)
    HDU 3294 Girls' research(manachar模板题)
    HDU 4763 Theme Section(KMP灵活应用)
    Ordering Tasks UVA
    Abbott's Revenge UVA
  • 原文地址:https://www.cnblogs.com/yxField/p/4238822.html
Copyright © 2011-2022 走看看