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

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+"
");//输出当前时间 document.write(mydate.getFullYear()+"
");//输出当前年份 mydate.setFullYear(81); //设置年份 document.write(mydate+"
"); //输出年份被设定为 0081年。

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

结果:

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

注意:

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

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





获得年份





返回星期

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

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

结果:

5

今天是:星期五

返回/设置时间

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

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

结果:

当前时间: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


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <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:


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <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);
    }



你可能感兴趣的:(js——内置对象之Date日期对象)