JS中Date日期函数中的参数使用介绍

JavaScript011

JS中Date日期函数中的参数使用介绍,第1张

要创建一个一个日期对象,可以使用以下的方式:

复制代码

代码如下:

var

now=new

Date()

当然,函数中没有传递任何参数,表示此对象now自动获取了当前的时间。

如果想要创建一个自定义时间的对象,则要对Date()进行参数的传递。而这个参数,必须是毫秒数(UTC时间1970年1月1日午夜起至自定义时间为止的毫秒数)。

我们可以使用Date.parse()和Date.UTC()来获得自定义时间的毫秒数。

Date.parse()接收一个表示日期的字符串参数,例如"May

25,2013","6/13/2013"等格式,具体支持的格式因地区而异。

而Date.UTC()中接收的参数分别是

年份、从0开始的月份数(0-11)、该月中的第几天(1-31)、小时树(0-23)、分钟、秒、毫秒,其中年份和月份数是必须的,其他参数缺省为0。

我们现在如果想定义一个2013年12月12日的日期对象,可以使用

Date.parse():

var

mydate=new

Date(Date.parse("12/12/2013")),

如果这样:

var

mydate=new

Date("12/12/2013")的话,在构造Date的时候,会自动调用Date.parse()将日期字符串转为毫秒数。

也可以使用Date.UTC():

var

mydate=new

Date(Date.UTC(2013,11,12)//注意月份下标从0开始,而日的下标从1开始

如果这样:

var

mydate=new

Date(2013,11,12),类似上面parse的构造方法,在构造日期对象的时候,会自动调用Date.UTC(),如果第一个参数是数值,将其当成年份,而第二个参数为月份......但是要注意的是,前者var

mydate=new

Date(Date.UTC(2013,11,12)得到的是GMT时间,而后者var

mydate=new

Date(2013,11,12)得到的是基于系统设置的本地时间。

1.date()日期对象:是一个构造函数,必须使用new来调用

2.使用date()var date=new Date()括号里什么都不填表示当前的时间

3.参数的写法:数字型2019,10,1和字符串型'2019-10-1'

3.日期的方法:

getFullYear()当前日期的年

getMonth()当前的月份,范围是0-11,0代表1月份,11代表12月份

getDate()返回的是几号

getDay()返回的是周几

getHours():返回的是小时,范围0-23

getMinutes():返回的是分钟,范围是0-59;

getSeconds():返回的是秒,范围0-59

getTime():返回的是总的毫秒,是从1970年1月1日距离现在的总的毫秒数

前言:有时候后端返回给前端的时间格式是这种的

        该时间格式为UTC格式,"+00:00","+"代表是东边的时区,当"+"变成"-"时,代表是西边的时区,后面紧接着的两个数字代表的是具体那个时区,如"+08"代表东八区,":"后的两个数代表和伦敦协调时偏差多少分钟。

        将该时间格式改成"YYYY-mm-dd HH:MM:SS"等格式,则需要处理后端返回时区与本时区时间的偏差。js的Date对象提供getTimezoneOffset函数,用于获取本时区与伦敦协调时的时间差,返回数值的单位是分钟。

        Date对象的toLocaleDateString函数,在PC端和移动端有差别,在安卓移动端会比PC端的返回值多"上午"、"下午"等。

        没有直接使用new Date(value)来获取日期,是因为在IOS系统下,年月日的分隔符只有是"/"的字符串(如"2019/09/09")用new Date(string)得到正确的日期。

        还有另一种格式GMT,相较于UTC格式,GMT没有那么精确,不能具体到毫秒。

        以下内容为追加GMT格式转换

参考:

    JS操作时间 - UNIX时间戳简单介绍  -  阿胜4K

    世界协调时间(UTC)

    MDN Date