Date 对象

本文详细介绍了JavaScriptDate对象的创建、get和set方法,展示了如何获取和设置日期和时间的不同部分,以及to方法的应用,包括计时器(setInterval和setTimeout)的使用实例。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

Date对象
一、Date对象简介
1.Date对象的创建
二、Date对象方法
1. get方法
(1)getMilliseconds()
(2)getSeconds()
(3)getMinutes()
(4)getHours()
(5)getDate()
(6)getDay()
(7)getMonth()
(8)getFullYear()
(9)getTime()
(10)getTimezoneOffset()
2. set方法
(1)setMilliseconds()
(2)setseconds()
(3)setMinutes()
(4)setHours()
(5)setDate()
(6)setMonth()
(7)setFullYear()
(8)使用场景
3. to方法
(1)toTimeString()
(2)toDateString()
(3)toString()
(4)toLocaleTimeString()
(5)toLocaleDateString()
(6)toLocaleString()
4.计时器
5. 其他方法
(1)valueOf()
(2)parse()
————————————————

一、Date对象简介

Date 对象用于处理日期和时间

1.创建Date 对象

var date = new Date();
console.log(date);
请添加图片描述

二、Date 对象方法

1.get方法

Date对象的get方法主要用于获取Date对象的时间。
get方法中有get和getUTC两种,其中getUTC是根据世界时间获取( 比中国北京时间要慢8个小时)
返回 Date 对象中用全球标准时间 (UTC) 表示的日期。
dateObj.getUTCDate()
必选项 dateObj 参数为 Date 对象。
说明
要获取用本地时间表示的日期,请使用 getDate 方法。
返回值是一个处于 1 到 31 之间的整数值,这个整数代表了 Date 对象中的日期值

(1)getFullYear() 获取年份

//获取年份
var date = new Date();
var year = date.getFullYear();
console.log(year);

(2)getMonth() 获取月份

//获取月份
var date = new Date();
var month = date.getMonth();
console.log(month);

(3)getDate() 获取天

//获取天
var date = new Date();
var dates = date.getDate();
console.log(dates);

(4)getHours() 获取小时

//获取小时
var date = new Date();
var hours = date.getHours();
console.log(hours);

(5)getMinutes() 获取分钟

//获取分钟
var date = new Date();
var minutes = date.getMinutes()
console.log(minutes);

(6)getSeconds() 获取秒数

//获取秒数
var date = new Date();
var seconds = date.getSeconds();
console.log(seconds);

(7)getMilliseconds() 获取毫秒数

//获取毫秒
var date = new Date();
var milli = date.getMilliseconds();
console.log(milli);

(8)getDay() 获取周几

//获取周几
var date = new Date();
var day = date.getDay();
console.log(day);

(9)getTime() 获取时间戳

//获取时间戳(获取1970年1月1日 0:0:0到现在所有经过的所有毫秒数)
var date = new Date();
var time = date.getTime();
console.log(time);

(10)getTimezoneOffset()

//返回本地时间与格林威治标准时间 (GMT) 的分钟差。
var date = new Date();
var offset = date.getTimezoneOffset();
console.log(offset);

2.set方法

(1)setMilliseconds()

setMilliseconds(number):设置 Date 对象中的毫秒 (0 ~ 999)。

  var date = new Date()
  date.setMilliseconds(1); // 毫秒
  console.log(date.getMilliseconds());

(2)setseconds()

setseconds(number):设置 Date 对象中的秒钟 (0 ~ 59)。

  var date = new Date()
  date.setSeconds(1); // 秒
  console.log(date.setSeconds());

(3)setMinutes()

setMinutes(number):设置 Date 对象中的分钟 (0 ~ 59)。

  var date = new Date()
  date.setMinutes(1); // 分钟
  console.log(date.setMinutes());

(4)setHours()

setHours(number):设置 Date 对象中的小时 (0 ~ 23)。

  var date = new Date()
  date.setHours(1); // 小时
  console.log(date.setHours());

(5)setDay()

setDay(number):设置 Date 对象中的周几 (0 ~ 6)。

  var date = new Date()
  date.setDay(1); // 周几
  console.log(date.getDay());

(6)setDate()

setDate(number):设置 Date 对象中月的某一天 (1 ~ 31)。

  var date = new Date()
  date.setDate(1); // 天数
  console.log(date.getDate());

(7)setMonth()

setMonth(number):设置 Date 对象中的月份 (0 ~ 11)。

  var date = new Date()
  date.setMonth(1); // 月份
  console.log(date.setMonth());

(8)setFullYear()

setFullYear(number):设置 Date 对象中的年份 (四位数字)。

  var date = new Date()
  date.setFullYear(1); // 年份
  console.log(date.setFullYear());

(9)使用场景

set方法常被用在计算当前时间点后n天的具体日期,具体实现如下:

  var d = new Date()
  console.log('当前日期:' + d.toLocaleString());
  d.setDate(d.getDate() + 30) // 获取30天之后的具体日期
  console.log('转换日期:' + d.toLocaleString());

3.to方法

Date对象的to方法是将Date对象转换为字符串的方法。
下面代码的执行结果图:
请添加图片描述

(1)toTimeString()

toTimeString():把 Date 对象的时间部分转换为字符串。

  var date = new Date()
  console.log(date.toTimeString()); // 把 Date 对象的时间部分转换为字符串。

(2)toDateString()

toDateString():把 Date 对象的日期部分转换为字符串。

  var date = new Date()
  console.log(date.toDateString()); // 把 Date 对象的日期部分转换为字符串。

(3)toString()

toString():把 Date 对象转换为字符串。

  var date = new Date()
  console.log(date.toString()); // 把 Date 对象转换为字符串。

(4)toLocaleTimeString()

toLocaleTimeString():根据本地时间格式,把 Date 对象的时间部分转换为字符串。

  var date = new Date()
  console.log(date.toLocaleTimeString()); // 根据本地时间格式,把 Date 对象的时间部分转换为字符串。

(5)toLocaleDateString()

toLocaleDateString():根据本地时间格式,把 Date 对象的日期部分转换为字符串。

  var date = new Date()
  console.log(date.toLocaleDateString()); // 根据本地时间格式,把 Date 对象的日期部分转换为字符串。

(6)toLocaleString()

toLocaleString():根据本地时间格式,把 Date 对象转换为字符串。

  var date = new Date()
  console.log(date.toLocaleString()); // 根据本地时间格式,把 Date 对象转换为字符串。

4.计时器

1> 不间断执行计时器 setInterval(你要执行的代码, 时间间隔);
时间间隔是以毫秒为单位的!
setInterval(这个部分可以写字符串代码但是一般都是放置函数,4000)

		A. 内联形式
			setInterval(function(){
				你要执行代码
			}, 4000)
			
		B. 函数名调用的方式
			setInterval( 函数名 / "函数名()",4000)

	2> 停止/清除不间断执行的计时器
		计时器是有返回值的,返回值是当前这个计时器的id;
		clearInterval(计时器id)

	3> 关于计时器的累加问题
		计时器方法在被不断调用过程中,不是这次的计时器顶替掉上一次的计时器,而是不断的生成新的计时器,这样就造成了计时器的累加
		解决:
			1. 判断计时器是否存在,存在就不在设置计时器
			2. 每次设置新的计时器之前,先清除掉旧的计时器

	4> setTimeout(); // 参数格式跟setInterval一样
		一次性计时器

	5> 清除一次性计时器
		clearTimeout(id);

计时器案例-----电子表

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>电子表</title>
	<style>
		.clock{
			width: 400px;
			height: 100px;
			text-align: center;
			line-height: 100px;
			border: 4px solid #ccc;
			font-size: 34px;
			font-weight: bold;
			color: #999;
		}
	</style>
</head>
<body>
	<div class="clock"></div>
</body>
<script>
	function formatTime(){
		var date = new Date();
		var y = date.getFullYear()
		var m = date.getMonth() + 1
		if(m<10){m='0'+m}
		var d = date.getDate()
		if(d<10){d='0'+d}
		var h = date.getHours()
		if(h<10){h='0'+h}
		var min = date.getMinutes()
		if(min<10){min='0'+min}
		var s = date.getSeconds()
		if(s<10){s='0'+s}
		return y+"-"+m+"-"+d+" "+h+":"+min+":"+s;
	}
	var cl = document.getElementsByClassName('clock')[0];


	function clock(){
		cl.innerHTML = formatTime();
	}
	
	setInterval(clock,1000);

	window.onload = function(){
		clock();
	}
</script>
</html>
//返回本地时间与格林威治标准时间 (GMT) 的分钟差。
var date = new Date();
var offset = date.getTimezoneOffset();
console.log(offset);

5.其他方法

(1)valueOf()

valueOf():返回 Date 对象的原始值。(即:时间戳,和getTime()方法结果相同

  var date = new Date()
  console.log('valueOf:' + date.valueOf());
  console.log('getTime:' + date.getTime());

请添加图片描述

(2)parse()

parse(dateString):返回1970年1月1日午夜(该日期对象的UTC时间)到指定日期(字符串)的毫秒数。
Parse(String)
使用当前区域性的约定将日期和时间的字符串表示形式转换为其 DateTime 等效的表示形式。

Parse(ReadOnlySpan, IFormatProvider)
将字符范围分析为值。

Parse(String, IFormatProvider)
使用指定的区域性特定格式设置信息,将日期和时间的字符串表示形式转换为其等效的 DateTime。

Parse(ReadOnlySpan, IFormatProvider, DateTimeStyles)
使用指定的区域性特定格式设置信息和格式类型,将包含日期和时间的字符串表示形式的内存范围转换为其等效的 DateTime。

Parse(String, IFormatProvider, DateTimeStyles)
使用指定的区域性特定格式设置信息和格式类型,将日期和时间的字符串表示形式转换为其等效的 DateTime。


总结

Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值