momentjs基础系列27.isoWeeksInYear方法

113 阅读4分钟

四月的更文活动开始了,回头一看,我也好久没有写文章了。因为近来工作比较忙,每天有很多事情要处理。特别是在项目开发的时候,遇到很多的问题或者bug。修复或者处理这些问题或者bug,也是花费了我很多的时间。

现在更文活动开始了,我要抽空写一下文章了,参与更文活动。

四月,我来了。

系列介绍

在提升系列里面,我们在实现获取区间时间的功能效果的时候,我们使用了第三方库-momentjs来实现功能的。使用了第三方库后,整个功能实现效果就比较简单了。调用momentjs库里对应的方法,即可快速实现效果,同时我们的代码量也少很多。

使用momentjs库来对一些时间进行操作的时候,是非常方便的。正因为如此,打算开一个系列,讲一下怎么使用momentjs这个库。因为momentjs库,里面有很多的方法。有些方法,可能平时在开发的过程中我也没有使用过。所以我开这个momentjs基础系列,既是自己温故一遍momentjs库里的方法,同时也写成文章,提供给别人学习参考。希望能够对你有所帮助。

momentjs

在JavaScript中解析,验证,操作和显示日期和时间

这是来自于momentjs官网上面的介绍,我们可以使用momentjs来进行日期、时间方面相关的操作。

前言

在上一篇文章里面momentjs基础系列26.weeksInYear方法,我们讲解了Moment实例对象上的weeksInYear方法。调用该方法,我们就可以根据语言环境来获取当前moment实例对象所在年份的周数。

接下来,我们将介绍一下Moment对象上面的isoWeeksInYear方法。

moment

我们调用moment方法,可以创建一个Moment的实例对象出来。

调用moment方法的时候,可以传递多种格式参数。下面我们将介绍一下传递的参数的各种格式。

引入momentjs

我们想要使用momentjs,需要先把momentjs的包引入进来。

我这里是打算使用一个html文件,在这个html文件里写逻辑代码的,来写我们的演示案例。而不是通过创建项目工程化的方式,来创建项目案例。所以我打算通过cdn的方式,来在html文件里,引入momentjs。

先创建一个index.html文件,为了演示使用,我们直接使用html文件来实现即可了。

在html文件里面,通过cdn的方式,引入了momentjs

<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.js"></script>

引入momentjs依赖库之后,它会进行全局挂载。这样,我们就可以在script标签里面,直接可以使用moment了。

isoWeeksInYear

我们使用moment()方法创建一个Moment实例对象,在Moment实例对象上面,我们可以使用一个weeksInYear方法。使用weeksInYear方法后,我们就可以根据iso星期来获取当前moment实例对象年份里面的周数。

这么说可能有点抽象或者不好理解,让我们用一个小案例来解释一下。看完这个小案例,你就会理解我刚才说的:可以根据语言环境来获取当前moment实例对象所在年份的周数

接下来,就让我们用代码来实现一下:

获取

我们使用moment实例对象上的isoWeeksInYear方法,来根据iso星期来获取当前moment实例对象上年份里面的周数。

 console.log(moment("2023-02-24").isoWeeksInYear())

到浏览器的控制台,我们查看一下代码执行后打印的结果

0001.png

在浏览器的控制台里面,我们可以看到,打印的结果是52。

怎么验证打印的结果是否是正确的?

非常简单,同时也需要你具备有一点点的耐心。在我们电脑上面,打开你的日历,然后数一下2023年每个月有多少周。一个月一个月去数,然后计算它们的总和。

当你每个月都数完之后,计算它们的总和,看到最后的结果后,你就会发现它的总计算值就是52了。

虽然这个方法看起来有点笨,但是是一个非常简单验证我们的结果是否正确的方法。

如果你有更好的方法来验证结果是否正确,请记得告诉我,让我学习一下吧。

小结

本小节,主要介绍Moment对象的isoWeeksInYear方法:可以使用isoWeeksInYear方法,我们就可以根据iso星期来获取当前moment实例对象年份里面的周数。

本小节比较简单,相信大家很快就能掌握和理解。

最后,放上自己比较喜欢的一句诗句:

千淘万漉虽辛苦,吹尽狂沙始到金 - 唐 刘禹锡《浪淘沙》