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


     
     
  • 相关阅读:
    关于Java 拷贝数组方法 Arrays.copyOf() 是地址传递还是值传递
    n皇后问题
    子集
    排列
    矩阵翻转
    删除集合元素的方法
    Java最大值与最小值
    Spring Security +Oauth2 +Spring boot 动态定义权限
    VirtualBox Centos7虚拟机集群配置
    VirtualBox使用Centos7与主机共享文件夹
  • 原文地址:https://www.cnblogs.com/yxField/p/4238822.html
Copyright © 2011-2022 走看看