JavaScript Date对象

2024-03-19 14:22:57 浏览数 (1)

UnsplashUnsplash

Date 对象的创建

JavaScript 的时间是由世界标准时间(UTC)1970 年 1 月 1 日开始,用毫秒计时

构造函数

代码语言:javascript复制
new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

value 代表自 1970 年 1 月 1 日 00:00:00 (世界标准时间) 起经过的毫秒数

dateString 表示日期的字符串值

year 代表年份的整数值。为了避免2000年问题最好指定4位数的年份; 使用 1998, 而不要用 98

month 代表月份的整数值从0(1月)到11(12月)

day 代表一个月中的第几天的整数值,从1开始

hour 代表一天中的小时数的整数值 (24小时制)

minute 分钟数

second 秒数

millisecond 表示时间的毫秒部分的整数值

注释:如果没有输入任何参数,则 Date 的构造器会依据系统设置的当前时间来创建一个 Date 对象

Date 对象内置的方法

代码语言:javascript复制
new Date().getTime();

返回 1970 年 1 月 1 日午夜与 Date 对象中的时间值之间的毫秒数,时间戳

运行结果运行结果
代码语言:javascript复制
date.getFullYear();  //获取 Date 对象中的年份值
date.getMonth(); //获取 Date 对象中的月份值
date.getDate();  //获取 Date 对象中的一个月的第几天
date.getDay(); //获取 Date 对象中的星期数,0 表示是星期天,6 表示是星期六
date.getHours(); //获取 Date 对象中的小时值
date.getMinutes(); //获取 Date 对象中的分钟值 
date.getSeconds(); //获取 Date 对象中的秒数值 
运行结果运行结果

模拟时钟 Demo

html 部分

代码语言:javascript复制
<div id="box">
  <span id="timer">xx:xx:xx</span>
  <span id="dater">XX年XX月XX日 星期X</span>
</div>

js 部分

代码语言:javascript复制
function clock() {
  var d = new Date();
  var year = d.getFullYear();
  var month = d.getMonth();
  var date = d.getDate();
  var day = d.getDay();
  var hours = d.getHours();
  var minutes = d.getMinutes();
  var seconds = d.getSeconds();
  var dayStr = "日一二三四五六";

  //如果小于10的,前面补上 "0"
  hours = (hours < 10) ? ("0"   hours) : hours;
  minutes = (minutes < 10) ? ("0"   minutes) : minutes;
  seconds = (seconds < 10) ? ("0"   seconds) : seconds;
  document.getElementById("timer")
          .innerHTML = hours   ":"   minutes   ":"   seconds;
  document.getElementById("dater")
          .innerHTML = year   "年"   (month   1)   "月"   date   "日 星期"   dayStr.split("")[day];
}
clock(); //先运行一次
setInterval(clock,1000);
运行结果运行结果

倒计时 Demo

html 部分

代码语言:javascript复制
距离2017年五一劳动节还有:0天0时0分0秒

js 部分

代码语言:javascript复制
var targetTime = new Date("2017-5-1"); 
function clock() {
  var nowTime = new Date();
  deltaTime = targetTime - nowTime; //隐式转换,得到时间差
  var days = parseInt(deltaTime/1000/60/60/24);
  var hours = parseInt(deltaTime/1000/60/60 % 24);
  var minutes = parseInt(deltaTime/1000/60 % 60);
  var seconds = parseInt(deltaTime/1000 % 60);

  document.body.innerHTML = "距离2017年五一劳动节还有:"   days   "天"   hours   "时"   minutes   "分"   seconds   "秒";
}
clock();
setInterval(clock,1000);
运行结果运行结果

0 人点赞