js——内置对象之Date日期对象

来源:互联网 发布:卓易云软件下载 编辑:程序博客网 时间:2024/06/05 08:24

Data对象

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

定义一个时间对象 :

var mydate=new Date(); 

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

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

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

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

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

访问方法语法:“<日期对象>.<方法>”

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

返回/设置年份

get/setFullYear() 返回/设置年份,用四位数表示。

var mydate=new Date();//当前时间2014年3月6日document.write(mydate+"<br>");//输出当前时间document.write(mydate.getFullYear()+"<br>");//输出当前年份mydate.setFullYear(81); //设置年份document.write(mydate+"<br>"); //输出年份被设定为 0081年。

注意:不同浏览器, mydate.setFullYear(81)结果不同,年份被设定为 0081或81两种情况。

结果:

Thu Mar 06 2014 10:57:47 GMT+08002014Thu Mar 06 0081 10:57:47 GMT+0800

注意:

1.结果格式依次为:星期、月、日、年、时、分、秒、时区。(火狐浏览器)

2. 不同浏览器,时间格式有差异。

<!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 myyear=mydate.getFullYear()     ;
document.write("年份:"+myyear);
</script>
</head>
<body>
</body>
</html>
返回星期

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

<script type="text/javascript">  var mydate=new Date();//定义日期对象  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];//定义数组对象,给每个数组项赋值  var mynum=mydate.getDay();//返回值存储在变量mynum中  document.write(mydate.getDay());//输出getDay()获取值  document.write("今天是:"+ weekday[mynum]);//输出星期几</script>

注意:以上代码是在2014年3月7日,星期五运行。

结果:

5

今天是:星期五

返回/设置时间

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

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

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

结果:

当前时间:Thu Mar 6 11:46:27 UTC+0800 2014

推迟一小时时间:Thu Mar 6 12:46:27 UTC+0800 2014

注意:1. 一小时 60 分,一分 60 秒,一秒 1000 毫秒

      2. 时间推迟 1 小时,就是: “x.setTime(x.getTime() + 60 * 60 * 1000);”

程序:

1、获取从当前时间到指定日期的间隔时间(倒计时   天、时、分、秒动态)

js
window.onload=function () {    getIntv();}function getIntv(){   var end = new Date("2017-01-27");    var now = new Date();    var timer = end-now;    var day = Math.floor(timer/(1000*60*60*24));    var timer1 = timer%(1000*60*60*24)    var hour = Math.floor(timer1/(1000*60*60));    var timer2 = timer1%(1000*60*60);    var min = Math.floor(timer2/(1000*60));    var timer3 = timer2%(1000*60);    var sec = Math.floor(timer3/1000);    document.getElementById("show").innerHTML="距2017-01-27还有"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒";
if (timer<=0){    document.getElementById("show").innerHTML="团购结束!";}
    setTimeout(getIntv,500);}

html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <link rel="stylesheet" type="text/css" href="style.css">    <script type="text/javascript" src="倒计时.js"></script></head><body>    <div id="show">显示时间</div></body></html>

 

2、数字日期转换为中文日期

方法一:

  var str = getChsDate('2015-01-08');  function getChsDate(time){    time = time.replace(/-/g,'');    var arr = []    for(i=0;i<time.length;i++){      switch(time[i]){        case '0': arr.push('零');break;        case '1': arr.push('一');break;        case '2': arr.push('二');break;        case '3': arr.push('三');break;        case '4': arr.push('四');break;        case '5': arr.push('五');break;        case '6': arr.push('六');break;        case '7': arr.push('七');break;        case '8': arr.push('八');break;        case '9': arr.push('九');break;      }    }    console.log(time);    arr.splice(4,0,'年');    arr.splice(7,0,'月');    arr.splice(10,0,'日');    arr = arr.join('');          return arr;  }//这种方法有一定缺陷,比如'2016-02-28',输出'二零一六年零二月二八日',读起来很别扭  console.log(str);  // 二零一五年一月八日

方法二:

  function getChsDate(date){    var newDate =date.split("-"),          year = newDate[0],          month = newDate[1],          day = newDate[2];   var dict ={"0":"零","1": "一", "2": "二", "3": "三","4": "四","5": "五","6": "六","7": "七", "8": "八", "9": "九", "10": "十", "11": "十一", "12": "十二","13": "十三", "14": "十四",  "15": "十五", "16": "十六", "17": "十七", "18": "十八", "19": "十九","20": "二十","21": "二十一", "22": "二十二", "23": "二十三", "24": "二十四",  "25": "二十五","26": "二十六", "27": "二十七", "28": "二十八", "29": "二十九", "30": "三十", "31": "三十一"};  return dict[year[0]]+dict[year[1]]+dict[year[2]]+dict[year[3]] + '年' + dict[Number(month)] +'月' + dict[Number(day)] + '日';  };  getChsDate('2015-01-08');//"二零一五年一月八日"



3、获取n天前的日期

var lastWeek = getLastNDays(7); // ‘2016-01-08’ var lastMonth = getLastNDays(30); //'2015-12-15' function getLastNDays(dater){ var now = Date.now(); var timer = dater*24*60*60*1000; var past = new Date(now - timer); var year = past.getFullYear(); var month = past.getMonth()+1;//月份从0开始算; var day = past.getDate(); return year+'-'+month+'-'+day; } console.log(lastWeek); console.log(lastMonth);


显示时间实例:年月日星期时分秒

html:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <link rel="stylesheet" type="text/css" href="style.css">    <script type="text/javascript" src="test.js"></script></head><body>    <div id="show">显示时间</div></body></html>

 

js:

 

/** * Created by Administrator on 2016/7/10 0010. */window.onload=function () {    showTime();}function checkTime(i) {    if (i<10){        i="0"+i;    }    return i;}    function showTime(){        var date=new Date();        var year=date.getFullYear();        var month=date.getMonth()+1;        var myday=date.getDate();        var day=date.getDay();        var h=date.getHours();        var m=date.getMinutes();        var s=date.getSeconds();        m=checkTime(m);        s=checkTime(s);        var weekday=new Array(7);        weekday[0]="星期日";        weekday[1]="星期一";        weekday[2]="星期二";        weekday[3]="星期三";        weekday[4]="星期四";        weekday[5]="星期五";        weekday[6]="星期六";        document.getElementById("show").innerHTML=year+"年"+month+"月"+myday+"日"+weekday[day]+h+":"+m+":"+s;        setTimeout(showTime,500);    }



0 0
原创粉丝点击