首页 > 编程语言 >JavaScript--Date

JavaScript--Date

时间:2022-10-28 20:14:34浏览次数:49  
标签:返回 console -- JavaScript dateString let Date new

一、Date的概述

在JavaScript中,Date类型是用来保存日期的,它能精确到1970年1月1日之前或之后的285616年。

二、Date的声明

使用new关键字声明

要创建一个日期对象,使用new操作符和Date构造函数即可:

let now = new Date();

在调用Date构造函数而不传递参数时,新创建的对象自动获得当前日期和时间。

如果要根据特定的日期和时间创建日期对象,必须传入表示该日期的毫秒数(即从UTC时间1970年1月1日起至该日期止经过的 毫秒数)。

let date = new Date(123456) //一个参数毫秒值 将这个毫秒值去加上对应的1970.1.1 0:0:0
let date = new Date('2000/1/1 00:00:00') //指定一个字符串 来指定对应的时间 规定格式
let date = new Date(2000,10,5,12,15,15) //年 月 日 时 分 秒 

注意:如果给Date构造函数传入的是其他格式,也会在后台调Date.parse(),将其转换成毫秒数。

三、Date的方法

1、get类方法

Date对象提供了一些获取日期和时间的方法:

getTime():返回距离1970年1月1日00:00:00的毫秒数,等同于valueOf方法。 
getDate():返回实例对象对应每个月的几号(从1开始)。 
getDay():返回星期几,星期日为0,星期一为1,以此类推。 
getYear():返回距离1900的年数。 
getFullYear():返回四位的年份。 
getMonth():返回月份(0表示1月,11表示12月)。 
getHours():返回小时(0-23)。 
getMilliseconds():返回毫秒(0-999)。 
getMinutes():返回分钟(0-59)。 
getSeconds():返回秒(0-59)。 
getTimezoneOffset():返回当前时间与UTC的时区差异,以分钟表示,返回结果考虑到了夏令时因素。

上面这些方法返回的都是正数,不同值返回的范围不一样:

分钟和秒:0 到 59 
小时:0 到 23 
星期:0(星期天)到 6(星期六) 
日期:1 到 31 月份:0(一月)到 11(十二月) 
年份:距离1900年的年数

上面这些get类方法返回的都是当前时区的时间,Date对象还提供了这些方法对应的UTC版本,用来返回UTC时间。

getUTCDate() 
getUTCFullYear() 
getUTCMonth() 
getUTCDay() 
getUTCHours() 
getUTCMinutes() 
getUTCSeconds() 
getUTCMilliseconds()
2、set类方法

Date对象提供了一些设置日期和时间的方法:

setDate(date):设置实例对象对应的每个月的几号(1-31),返回改变后毫秒时间戳。 
setYear(year): 设置距离1900年的年数。 
setFullYear(year [, month, date]):设置四位年份。 
setHours(hour [, min, sec, ms]):设置小时(0-23)。 
setMilliseconds():设置毫秒(0-999)。 
setMinutes(min [, sec, ms]):设置分钟(0-59)。 
setMonth(month [, date]):设置月份(0-11)。 
setSeconds(sec [, ms]):设置秒(0-59)。 
setTime(milliseconds):设置毫秒时间戳。

注意:月份都是从0开始的。

set类方法的参数都会自动折算。下面以setDate为例,如果参数超过当月的最大天数,则向下一个月顺延,如果参数是负数, 表示从上个月的最后一天开始减去的天数。

setDate()
setDate()传入特殊值时:
1)当传入0时,表示为上一个月的最后一天;
2)当传入负数时,表示上一个月最后一天之前的第几天(比如-1表示上一个月最后一天之前的一天) 。
3)当传入32时,如果当月有31天,32表示下个月的第一天;如果当月有30天,32表示为下一个月的第二天。

//传入32获取当月天数:
let now = new Date(); 
console.log(now); 
now.setDate(32); 
console.log(now); 
let aMontthDay = 32 - now.getDate(); 
console.log(aMonthDay); 
// Fri Nov 18 2016 13:13:03 GMT+0800 (中国标准时间) 
// Fri Dec 02 2016 13:13:03 GMT+0800 (中国标准时间) 
// 30

set类方法也有对应的设置UTC时间的方法:

setUTCDate() 
setUTCFullYear() 
setUTCHours() 
setUTCMilliseconds() 
setUTCMinutes() 
setUTCMonth() 
setUTCSeconds()
3、其他方法

Date.now()
Date.now()返回表示调用这个方法时的日期和时间的毫秒数。

let times = Date.now(); //1479438986198

我们也可以使用+操作符实现Date.now()的功能:

let times2 = +new Date(); //1479438986198

toLocaleString()
Date类型的toLocaleString()方法会按照与浏览器设置的时区相适应的格式返回日期和时间,包含AM或PM,但不包含时区。

let dateString = new Date(); 
console.log(dateString.toLocaleString()); 
// 2016/11/18 下午12:19:47

toString()
Date类型的toString()返回带有时区信息的日期和时间,其中时间一般以军用时间(即小时的范围是0到23)。

let dateString = new Date(); 
console.log(dateString.toString()); 
// Fri Nov 18 2016 12:19:47 GMT+0800 (中国标准时间)

toDateString()
toDateString()方法返回格式为星期几、月、日和年的字符串。

let dateString = new Date(); 
console.log(dateString.toDateString()); 
// Fri Nov 18 2016

toTimeString()
toTimeString()返回格式为时、分、秒和时区的字符串。

let dateString = new Date(); 
console.log(dateString.toTimeString()); 
// 12:30:35 GMT+0800 (中国标准时间)

toLocaleDateString()
toLocaleDateString()返回格式为星期几、月、日和年的字符串(依照时区的不同,显示的格式也会所有不同)

var dateString = new Date(); 
console.log(dateString.toLocaleDateString()); 
// 2016/11/18

toLocaleTimeString()
toLocaleTimeString() 返回格式为时、分、秒的字符串。

let dateString = new Date(); 
console.log(dateString.toLocaleTimeString()); 
// 下午12:30:35

toUTCString()
toUTCString()返回完整的UTC日期。

var dateString = new Date(); 
console.log(dateString.toUTCString()); 
// Fri, 18 Nov 2016 04:30:35 GMT

标签:返回,console,--,JavaScript,dateString,let,Date,new
From: https://www.cnblogs.com/zhouwying/p/16837213.html

相关文章

  • JavaScript--_==_和_===_
    一、""和"="简单介绍1)宽松相等(looseequals)==和严格相等(strictequals)===都用来判断两个值是否“相等”,但是它们之间有一个很重要的区别,特别是在判断条件上。2)正确的解......
  • JavaScript--AJXS
    协议(基于tcp/ip)超文本传输协议(HyperTextTransferProtocol,HTTP)是用于从WWW服务器传输超文本到本地浏览器的传输协议(transport)。它可以使浏览器更加高效,使网络传输减少。......
  • blog_02
    第二次博客作业目录第二次博客作业1.前言2.设计与分析(1)题目集47-2点线形系列4-凸四边形的计算(2)题目集57-1点线形系列5-凸五边形的计算-1(3)题目集57-2点线形系......
  • 读《OpenFlow:Enabling Innovation in Campus Networks》有感
    OpenFlow:南向接口协议最初是运用于校园网建设一、可编程网络的必要性巨量的已安装设备和协议不愿尝试在真实流量中展开实验以上两点导致网络创新难度大,高准入门槛......
  • JavaScript--BOM
    一、BOM的概述虽然ECMAScript把浏览器对象模型(BOM,BrowserObjectModel)描述为JavaScript的核心,但实际上BOM是使用JavaScript开发Web应用程序的核心。BOM提供了......
  • 实验6:开源控制器实践
    实验6:开源控制器实践——RYU一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验环......
  • 社死事件
    今天下午去拿方老师没有给我退的作业(为什么不退呢?)。借此机会又和hyj&wzq聊天,突然发现我们下节课都是化学?好巧。于是一直聊到打预备铃才回班(反正在我们这边的老师都忙得要死......
  • [学习笔记] 差分约束系统
    解决问题解不等式方程。形如\(x_i\lex_j+w\)ps.等式可以化为两个不等式解决方法。相当于每条有向边松弛后的柿子。所以跑最短路即可。但有可能负权,而且要判无解(有......
  • Javascrip内置函数--计时器
    延时执行:setTimeout()  setTimeout的三种写法:console.log(1);/***第一个参数是代码,注意代码需用引号包裹,否则会立即执行代码*第二个参数是1000,即1000ms......
  • Codeforces Round #830 (Div. 2)(持续更新)
    PrefaceAB很水,C一般难度,D1很简单但D2确实巧妙没有现场打有点可惜,后面补的时候都是1A(结果每次比赛的时候都要莫名WA上好久)A.Bestie我刚开始没咋想,感觉操作步数不会很......