程序员の必经之路从零开始学前端

JS内置对象:Date 日期

2017-01-19  本文已影响52人  越IT

Date 日期对象

日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。

如何创建一个日期对象

定义一个时间对象 :
【语法】:

var Udate=new Date(); 

【功能】:创建一个日期时间对象。

【返回值】:不传参的情况下,返回当前的日期时间对象。

【说明】:
如果想根据特定的日期和时间创建日期对象,必须传入表示该日期的毫秒数或者是一组用逗号隔开的表示年月日时分秒的参数。

【注意】:使用关键字new,Date()的首字母必须大写。

使 Udate 成为日期对象,并且已有初始值:当前时间(当前电脑系统时间)。

如果要自定义初始值,可以用以下方法:

var d = new Date(2017, 10, 1);  //2017年10月1日
var d = new Date('Oct 1, 2017'); //2017年10月1日

我们最好使用下面介绍的“方法”来严格定义时间。

★访问方法语法:

<日期对象>.<方法>

Date对象中处理时间和日期的常用方法:

- 1/获取年月日时分秒及星期的方法

获取年月日时分秒及星期的方法.png

★获取现在的时间

<html>
<head>
    <meta charset="UTF-8">
    <title>new Date()</title>
</head>
<body>
<script>
     //创建一个日期时间对象
     var weeks=["日","一","二","三","四","五","六"];
     today=new Date(),
     year=today.getFullYear(),//年
     month=today.getMonth()+1,//月
     date=today.getDate(),//日
     week=today.getDay(),//星期
     hours=today.getHours(),//小时
     minutes=today.getMinutes(),//分钟
     seconds=today.getSeconds(),//秒
     time=year+"年"+month+"月"+date+"日"+hours+"时"+minutes+"分"+seconds+"秒 星期"+weeks[week];
     console.log("现在是:"+time);

</script>
</body>
</html>

- 2/设置年月日时分秒及星期的方法

设置年月日时分秒及星期的方法.png
<html>
<head>
    <meta charset="UTF-8">
    <title>new Date()</title>
</head>
<body>
<script>
     //创建一个日期时间对象
     var today=new Date();
     today.setMonth(13);
     console.log(today.getMonth());//浏览器显示1,实际月份2
     console.log(today.getFullYear());//当前年+1
</script>
</body>
</html>

【说明】:


一、返回/设置年份方法:get/setFullYear()

返回/设置年份,用四位数表示。

【案例】

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得年份 </title>
<script type="text/javascript">
var mydate=new Date();//当前时间
document.write(mydate+"<br>");//输出当前时间
document.write(mydate.getFullYear()+"<br>");//输出当前年份
mydate.setFullYear(81); //设置年份
document.write(mydate+"<br>"); //输出年份被设定为 0081年。
</script>
</head>
<body>
</body>
</html>

【注意】
1:不同浏览器, mydate.setFullYear(81)结果不同,年份被设定为 0081或81两种情况。
2:结果格式依次为:星期、月、日、年、时、分、秒、时区。(火狐浏览器)

二、返回星期方法:getDay()

返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成

【案例】

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得星期</title>
<script type="text/javascript">
   var mydate=new Date();//定义日期对象
  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
//定义数组对象,给每个数组项赋值
  var mynum=mydate.getDay();//返回值存储在变量mynum中
  document.write(mydate.getDay()+"<br>");//输出getDay()获取值
  document.write("今天是:"+ weekday[mynum]);//输出星期几
</script>
</head>
<body>
</body>
</html>

【注意】:以上代码是在2017年1月19日,星期四运行。

【结果】
4
今天是:星期四

三、返回/设置时间方法:get/setTime()

返回/设置时间,单位毫秒数,计算从 1970 年 1 月 1 日零时到日期对象所指的日期的毫秒数。

【案例】如果将目前日期对象的时间推迟1小时,代码如下

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>日期对象 </title>

 <script type="text/javascript">
  var mydate=new Date();
  document.write("当前时间:"+mydate+"<br>");
  mydate.setTime(mydate.getTime() + 60 * 60 * 1000);
  document.write("推迟一小时时间:" + mydate);
</script>

</head>
<body>
</body>
</html>

【注意】
1: 一小时 60 分,一分 60 秒,一秒 1000 毫秒
2: 时间推迟 1 小时,就是: “x.setTime(x.getTime() + 60 * 60 * 1000);”

★【综合案例】:50天后的今天是?

<html>
<head>
    <meta charset="UTF-8">
    <title>new Date()</title>
</head>
<body>
<script>
    //创建一个日期时间对象
    var today=new Date();
    //50天之后是星期几?
    //第一种做法
    // today.setDate(today.getDate()+50);
    // console.log(today.getDay());

    //第二种做法
    var weeks=["日","一","二","三","四","五","六"];
    var year=today.getFullYear();
    var month=today.getMonth();
    var day=today.getDate();
    //创建了一个目标日期对象,年,月,日,时,分,秒
    var temp=new Date(year,month,day+50);
    console.log("50天后的今天是:"+temp.getFullYear()+"-"+(temp.getMonth()+1)+"-"+temp.getDate()+"-"+"星期"+weeks[temp.getDay()]);
</script>
</body>
</html>

end.
本笔记整理自慕课网

上一篇下一篇

猜你喜欢

热点阅读