前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript|日期对象

JavaScript|日期对象

作者头像
算法与编程之美
发布2020-09-16 11:19:53
8840
发布2020-09-16 11:19:53
举报

在JavaScript中没有日期类型的数据,但我们在开发的过程中经常需要处理日期,所以在这里我将在这里给展示大家如何用日期对象(Date)来操作日期和时间。

创建日期对象

在JavaScript中,创建日期对象必须使用new语句。使用关键字new新建日期对象时有以下四种方法;

代码语言:javascript
复制
方法一:日期对象 = new Date()

方法二:日期对象 = new Date(日期字串)

方法三:日期对象 = new Date(毫秒)

方法四:日期对象 = new Date(年,月,日[时,分,秒,[毫秒])

接下来我们用上述四种方式来创建日期对象。

代码语言:javascript
复制
<!DOCTYPE html>

<html>

       <head>

              <meta  charset="UTF-8">

              <title>日期对象</title>

              <script>

                     //以当前时间创建一个日期对象

                     var  myDate1 = new Date();

                     //将字符串转化成日期对象,该对象代表的日期为2020年3月8日

                     var  myDate2 = new Date("March 8,2020");

                     //将字符串转化成日期对象,该对象代表的日期为2020年3月8日

                     var  myDate3 = new Date("2020/3/8");

                     //创建一个日期对象,该对象代表的日期和时间为2020年3月8日10时38分46秒

                     var  myDate4 = new Date(2020,3,8,10,38,46);

                     //创建一个日期对象,该对象代表距离2020年1月1日0时0分0秒10000毫秒的时间

                     var  myDate5 = new Date(10000);

                     //分别输出以上日期对象的本地格式

                     document.write("myDate1  所代表的时间为:"+myDate1.toLocaleString()+"<br>");

                     document.write("myDate2  所代表的时间为:"+myDate2.toLocaleString()+"<br>");

                     document.write("myDate3  所代表的时间为:"+myDate3.toLocaleString()+"<br>");

                     document.write("myDate4  所代表的时间为:"+myDate4.toLocaleString()+"<br>");

                     document.write("myDate5  所代表的时间为:"+myDate5.toLocaleString()+"<br>");

              </script>

       </head>

<body>

        </body>

</html>

效果:

图1.1创建日期对象

日期对象常用方法的应用

日期对象的方法主要分为三大组:setXxx、getXxx和toXxx。setXxx方法用于设置时间和日期值;getXxx方法用于获取时间和日期;toXxx方法主要是将日期转化成指定格式。

日期对象的常用方法如下表:

图2.1日期对象常用方法的应用

接下来我们就来尝试一下以YYY-MM-DD AM H:M:S 学期X的格式显示日期:

代码语言:javascript
复制
<!DOCTYPE html>

<html>

       <head>

              <meta  charset="UTF-8">

              <title>日期对象</title>

              <script  type="text/javascript">

                     var  now = new Date(); //定义日期对象

                     //输出自定义的日期格式

                     document.write("今天是:" + now.toLocaleFormat("%Y-%m-%d %a %H:%M;%S %a"));

              </script>

       </head>

       <body>

       </body>

</html>

效果:

图2.2自定义日期格式

在这里我们用到了toLocaleFormat()方法;

它是JavaScript1.6新增加的功能,IE、Opera等浏览器都不支持。

日期间的运算

日期数据之间的运算通常包括一个日期对象加上整数年、月、日,以及两个日期对象进行相减运算。

1 日期对象与整数年、月、日相加

日期对象与整数年、月、日相加,需要将它们相加的结果,通过setXxx函数设置成新的日期对象,实现日期对象与整数年、月、日相加,语法格式如下:

代码语言:javascript
复制
date.setData(date.getData()+value) //增加天

date.setMonth(date.getMonth()+value) //增加月

date.setFullYear(date.getFullYear()+value)  //增加年

2 日期相减

JavaScript允许两个日期对象的相减,相减之后返回的是这两个日期之间的毫秒数。通常我们会将毫秒转化成秒、分、小时、天等。接下来来举例说明一下。

代码语言:javascript
复制
<!DOCTYPE html>

<html>

       <head>

              <meta  charset="UTF-8">

              <title>日期对象</title>

              <script>

                     var  now = new Date(); //定义日期对象

                     var  nationalDay = new Date(2021,1,1,0,0,0); //2021年元旦定义日期对象

                     var  msel = nationalDay-now;//相差的毫秒数

                     //输出相差时间

                     document.write("距离2021年元旦还有:"+msel+"毫秒<br>");

                     document.write("距离2021年元旦还有:"+parseInt(msel/1000)+"秒<br>");

                     document.write("距离2021年元旦还有:"+parseInt(msel/(1000*60))+"分钟<br>");

                     document.write("距离2021年元旦还有:"+parseInt(msel/(1000*60*60))+"分钟<br>");  

                     document.write("距离2021年元旦还有:"+parseInt(msel/(1000*60*60*24))+"天<br");

              </script>

       </head>

       <body>

       </body>

</html>

效果:

图3.2日期相减

总结

日期是我们在生活中很重要的东西,在做网页或者是其它东西的时候也都少不了日期的,运用JavaScript的日期对象可以做很多事情,比如算算期末考试还有好久,把日期变成自己想要的格式等。对于JavaScript的日期对象和它的一些常用方法要熟练的掌握,才能更好的完成自己的作品和项目。

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档