JavaScript Date(日期) 对象

简介: JavaScript Date(日期) 对象

JavaScript Date(日期) 对象

avaScript具有一个内置 Date 对象,该对象存储日期和时间并提供相应的处理日期和时间的方法。

要创建 Date 对象的新实例,请使用 new 关键字:

const date = new Date();

该 Date 对象包含一个 Number,表示从新纪元(即1970年1月1日)起经过的毫秒数。

您可以将日期字符串传递给 Date 构造函数以创建指定日期的对象:

const date = new Date('Jul 12 2011');

要获取当前年份,可以使用Date对象的 getFullYear() 实例方法 。getFullYear() 方法返回日期对应的年份:

const currentYear = date.getFullYear();
console.log(currentYear); //2020

同样,有一些方法可以获取当月的当前日期和当前的月份:

const today = date.getDate();
const currentMonth = date.getMonth() + 1;
getDate() 方法返回当月的当前日期(1-31)。

getMonth() 方法返回指定日期的月份。需要注意的一点是, getMonth()方法返回的是索引值(0-11),其中0表示一月,11表示十二月。因此,加1可以使月份的值标准化。

Date.now()

now()是 Date 对象的静态方法。它返回以毫秒为单位的值,该值表示自纪元以来经过的时间。您可以将now()方法返回的毫秒数传递给Date 构造函数以实例化新的 Date 对象:

const timeElapsed = Date.now();
const today = new Date(timeElapsed);

创建日期

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

可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:

有四种方式初始化日期:

new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

上面的参数大多数都是可选的,在不指定的情况下,默认参数是0。

实例化一个日期的一些例子:

var today = new Date()
var d1 = new Date("October 13, 1975 11:13:00")
var d2 = new Date(79,5,24)
var d3 = new Date(79,5,24,11,33,0)

设置日期

通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。

在下面的例子中,我们为日期对象设置了一个特定的日期 (2010 年 1 月 14 日):

var myDate=new Date();
myDate.setFullYear(2010,0,14);

在下面的例子中,我们将日期对象设置为 5 天后的日期:

var myDate=new Date();
myDate.setDate(myDate.getDate()+5);

注意: 如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

日期获取方法

获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):

getDate()

定义:方法可返回月份的某一天
语法:Date.getDate()
示例:

var d = new Date("July 21, 1983 01:15:00");
var n = d.getDate();
console.log(d.getDate()) //21
返回指定时间该月的一天
getDay()

定义:可返回一周(0~6)的某一天的数字
语法:Date.getDay()
示例1.:

<p id="demo">单击按钮显示今天周几</p>
  <button onclick="myFunction()">点我</button>
    <script>
        //返回周几的名称(不是一个数字):
           function myFunction() {
            var d = new Date();
            var weekday = new Array(7);
            weekday[0] = "周日";
            weekday[1] = "周一";
            weekday[2] = "周二";
            weekday[3] = "周三";
            weekday[4] = "周四";
            weekday[5] = "周五";
            weekday[6] = "周六";
            var x = document.getElementById("demo");
            x.innerHTML = weekday[d.getDay()];
        }//周三
getFullYear()

定义:可返回一个表示年份的 4 位数字
语法:Date.getFullYear()
示例:

<p id="demo">单击按钮显示给定日期的年份</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
    var d = new Date("July 21, 2022 01:15:00");
    var x = document.getElementById("demo");
    x.innerHTML=d.getFullYear();
}//2022
getHours()

定义:方法可返回时间的小时字段
语法:Date.getHours()
示例:

 <p id="demo">单击按钮显示给定时间的小时时段:</p>
    <button onclick="myFunction()">点我</button>
    <script>
    function myFunction(){
        var d = new Date("July 21, 1983 010:15:00");
        var x = document.getElementById("demo");
        x.innerHTML=d.getHours();
    }//10
    </script>
getTime()

定义:方法可返回距 1970 年 1 月 1 日之间的毫秒数
语法:Date.getTime()
示例:

var d = new Date()
document.write(d.getTime())//1666784778751

日期格式化

我们可以使用Date对象的方法将日期格式化为多种格式(GMT,ISO等)。

toDateString()方法以人类可读的格式返回日期:

today.toDateString(); // "Sun Jun 14 2020"
toISOString()方法返回遵循ISO 8601扩展格式的日期:

today.toISOString(); // "2020-06-13T18:30:00.000Z"
toUTCString()方法以UTC时区格式返回日期:

today.toUTCString(); // "Sat, 13 Jun 2020 18:30:00 GMT"
toLocaleDateString()方法以对地区敏感的格式返回日期:

today.toLocaleDateString(); // "6/14/2020"
相关文章
|
1月前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
1月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
21天前
|
JSON 前端开发 JavaScript
JavaScript中对象的数据拷贝
本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
18 1
JavaScript中对象的数据拷贝
|
1月前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
1月前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
2月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
44 1
|
2月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
32 0
|
前端开发 JavaScript
javascript Date format(js日期格式化)
方法一:这个很不错,好像是 csdn 的 Meizz 写的:  [javascript] view plaincopy // 对Date的扩展,将 Date 转化为指定格式的String    // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,    ...
704 0
|
JavaScript 前端开发
javascript Date format(js日期格式化)
在部分浏览器中使用官方toLocalXXX() 方法并不能转换时间,这时就要自己动手转换了 方法一: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)...
4398 0