从头开始学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


 
 
原文地址:https://www.cnblogs.com/yxField/p/4238822.html