标签:settime 静态 自动 复合 地方 静态方法 time() 函数的参数 间隔
原文地址:https://wangdoc.com/javascript/
Date对象可以作为普通函数直接调用,返回一个代表当前时间的字符串,即使带有参数Date作为普通函数使用时,返回的还是当前时间。
Date() // "Wed Dec 05 2018 17:12:15 GMT+0800 (中国标准时间)"
Date(2000, 1, 1) // "Wed Dec 05 2018 17:13:00 GMT+0800 (中国标准时间)"
Date还可以当作构造函数使用。对它使用new命令,会返回一个Date对象的实例,如果不加参数,实例代表的就是当前时间。Date实例有一个独特的地方,就是它在求值的时候调用的是toString方法。这导致对Date实例求值,返回的是一个字符串。
作为构造函数时,Date对象可以接受多种格式的参数,返回一个该参数对应的时间实例。
// 参数为时间零点开始计算的毫秒数
new Date(1378218728000);
// 参数为日期字符串
new Date("January 6, 2018");
// 参数为多个整数
// 代表年、月、日、小时、分钟、秒、毫秒
new Date(2018, 0, 1, 0, 0, 0, 0);
关于Date构造函数的参数,有几点说明。
第一点,参数可以是负整数,代表1970年元旦之前的时间。
第二点,只要是能被Date.parse方法解析的字符串,都可以当做参数。
第三点,参数为年月日等多个整数时,年和月不能省略,其他的参数都可以省略。
* 年:使用四位数年份,比如2000。如果写成两位数或个位数,则加上1900。如果是负数,表示公元前。
* 月:0表示一月,依此类推。
* 日:1到31。
* 小时:0到23/font>。
* 分钟:0到59。
* 秒:0到59。
* 毫秒:0到999。
这些参数如果超出了正常范围,会被自动折算。比如,如果月设置为15,就折算为下一年的4月。参数还可以使用负数,表示扣去的时间。
两个日期实例对象进行减法运算时,返回的是他们间隔的毫秒数;进行加法运算时,返回的是两个字符串连接而成的新字符串。(参考对象的加减)
Date.now方法返回当前时间距离时间零点(1970年1月1日00:00:00 UTC)的毫秒数,相当于Unix时间戳乘以1000。
Date.parse方法用来解析日期字符串,返回该时间距离时间零点的毫秒数。日期字符串应该复合RFC 2822和ISO 8061这两个标准,即YYYY-MM-DDTHH:mm:ss.sssZ格式,其中最后的z表示时区。但是其他格式也可以被解析。
如果解析失败,返回NaN。
Date.UTC方法接受年、月、日等变量作为参数,返回该时间距离时间零点的毫秒数。
该方法的参数与Date构造函数完全一致。区别在于Date.UTC方法的参数,会被解释为UTC时间(世界标准时间),Date构造函数的参数会被解释为当前时区的时间。
Date的实例对象有几十个自己的方法,除了valueOf和toString,可以分为以下三类。
set类:设置Date对象的日期和时间。
valueOf方法返回实例对象距离时间零点的毫秒数,该方法等同于getTime方法。
toString返回一个完整的日期字符串。
var d = new Date(2018, 0, 1);
d.toUTCString(); // "Sun, 31 Dec 2017 16:00:00 GMT"
toISOString方法返回对应时间的ISO8601写法,注意,toISOString方法返回的总是UTC时区的时间。
toJSON方法返回一个符合JSON格式的ISO日期字符串,与toISOString方法的返回值完全相同。
toDateString方法返回日期字符串(不包含时分秒)。
toTimeString方法返回时间字符串(不包含年月日)。
以下三个方法,可以将Date实例转为表示本地时间的字符串。
这三个方法都有两个可选参数。
dateObj.toLocaleString([locales[, options]])
dateObj.toLocaleDateString([locales[, options]])
dateObj.toLocaleTimeString([locales[, options]])
这两个参数中,<font color=red>locales</font>是一个指定所用语言的字符串,<font color=red>options</font>是一个配置对象。下面是<font color=red>locales</font>的例子。
var d = new Date(2013, 0, 1);
d.toLocaleString("en-US"); // "1/1/2013, 12:00:00 AM"
d.toLocaleString("zh-CN"); // "2013/1/1 上午12:00:00"
下面是<font color=red>options</font>的例子。
var d = new Date(2013, 0, 1);
// 时间格式
// 下面的设置是,星期和月份为完整文字,年份和日期为数字
d.toLocaleDateString("en-US", {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric"
}); // "Tuesday, January 1, 2013"
// 指定时区
d.toLocaleTimeString("en-US", {
timeZone: "UTC",
timeZoneName: "short"
}); // "4:00:00 PM UTC"
d.toLocaleTimeString("en-US", {
timeZone: "Asia/shanghai",
timeZoneName: "long"
});
d.toLocaleTimeString("en-US", {
hour12: false
});
d.toLocaleTimeString("en-US", {
hour12: true
});
### get类方法
<font color=red>Date</font>对象提供了一系列<font color=red>get*</font>方法,用来获取实例对象某个方面的值。
* <font color=red>getTime()</font>:返回实例距离1970年1月1日00:00:00的毫秒数,等同于<font color=red>valueOf</font>方法。
* <font color=red>getDate()</font>:返回实例对象对应每个月的几号(从1开始)。
* <font color=red>getDay()</font>:返回星期几,星期日为0,星期一为1,依此类推。
* <font color=red>getFullYear()</font>:返回四位的年份。
* <font color=red>getMonth()</font>:返回月份(0表示1月,11表示12月)。
* <font color=red>getHours()</font>:返回小时(0-23)。
* <font color=red>getMilliseconds()</font>:返回毫秒(0-999)。
* <font color=red>getMinutes()</font>:返回分钟(0-59)。
* <font color=red>getSeconds()</font>:返回秒(0-59)。
* <font color=red>getTimezoneOffset()</font>:返回当前时间与UTC的时区差异,以分钟表示,返回结果考虑到了夏令时因素。
所有这些<font color=red>get*</font>方法返回的都是整数,不同方法返回值的范围不一样。
上面这些<font color=red>get*</font>方法返回的都是当前时区的时间,<font color=red>Date</font>对象还提供了这些方法对应的UTC版本,来返回UTC时间。
* <font color=red>getUTCDate()</font>
* <font color=red>getUTCFullYear()</font>
* <font color=red>getUTCMonth()</font>
* <font color=red>getUTCDay</font>
* <font color=red>getUTCHours()</font>
* <font color=red>getUTCMinutes()</font>
* <font color=red>getUTCSeconds()</font>
* <font color=red>getUTCMilliseconds()</font>
var d = new Date("January 6, 2013");
d.getDate() // 6
d.getUTCDate() // 5
```
Date对象提供了一系列set*方法,用来设置实例对象的哥哥方面。
标签:settime 静态 自动 复合 地方 静态方法 time() 函数的参数 间隔
原文地址:https://www.cnblogs.com/chris-jichen/p/10075300.html