js date()函数

最近工作中经常会用到,需要前端去获取时间,然后进行一些处理,自己发现都忘个差不多了,就想着重新回顾一遍.

JavaScript中有Date对象,Date对象用于处理时间和日期.

创建Date对象的语法:

var myDate = new Date();

Date对象会自动把当前时间和日期保存为其初始值.

Date()  返回当日的日期时间

getDate()  从Date对象返回一个月中的某一天(1~31)

getDay()  从Date对象返回一周中的某一天(0~6)

getMonth()  从Date对象返回月份(0~1)

getFullYear()  从Date对象以四位数字返回年份

getYear()  获取时间戳的年份,请使用getFullYear()方法替代

getHours()  返回Date对象的小时(0~23)

getMinutes()  返回Date对象的分钟(0~59)

getSeconds()  返回Date对象的秒数(0~59)

getMilliseconds()  返回Date对象的毫秒(0~999)

getTime()  返回1970年1月1日至今的毫秒数

getTimezoneOffset()  返回本地时间与格林威治标准时间(GMT)的分钟差

parse()  返回1970年1月1日午夜到指定日期(字符串)的毫秒数

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

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

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

setYear()  请使用setFullYear()方法替代

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

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

setSeconds()  设置Date对象中的秒钟(0~59)

setMinlliseconds()  设置Date对象中的毫秒(0~999)

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

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

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

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

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

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

这其中,需要注意的是,从Date对象中获取到的月份时间,是从0开始的,比如下面这段代码

var d = new Date();
console.log(d);  //Thu Feb 09 2017 16:44:50 GMT+0800 (中国标准时间)
var m = d.getMonth();
console.log(m);  //1

而通过new Date()创建一个特定时间时,则需要将月份从1开始算(下面有例子)

首先着重讲一下Date()

创建Date对象时,当我们需要创建一个特定的时间时,其有下面几种方式:

new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);

其中,

month:用英文表示月份名称,从January到December

mth:用整数表示月份,从0-11(1月到12月)

dd:表示一个月中的第几天,从1到31

yyyy:四位数表示的年份

hh:小时数,从0(午夜)到23(晚11点)

mm:分钟数,从0到59的整数

ss:秒数,从0到59的整数

ms:毫秒数,为大于等于0的整数

注意最后一种形式,参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。

示例如下:

new Date("January 12,2006 22:19:35");

new Date("January 12,2006");

new Date(2006,0,12,22,19,35);

new Date(2006,0,12);

new Date(1137075575000);

而getDay()是从Date对象中返回一周中的第几天,其返回值为0~6,0表示星期日

之前需要自己写一个日历,当时就遇到了个很尴尬的问题,不知道该怎么算当月有多少天(其实当时连每月的1号是星期几都忘了怎么获取了,后来重新看了遍Date对象,才用的getDay()),其实计算某一个月有多少天,有一个特别好的方法.

很少有人知道创建时间的时候,当日期的天数设置成0时,例如new Date(2017,3,0)时,其真正设置的时间,是这个月前一个月的最后一天,根据这种情况,我们可以如下写:

var d = new Date(2017,3,0);
console.log(d.getDate());  //28

由此可以计算出二月为28天

此时打印出来的就是当月的总共有多少天了,非常方便了......

原文地址:https://www.cnblogs.com/fbzs/p/6382779.html