momentjs使用详细说明

 更新时间:2023年07月20日 14:14:36   作者:一花一world  
这篇文章主要介绍了momentjs详细使用说明,使用 Moment.js 可以轻松地获取上周、上月和前三个月的起始和结束时间,在示例中,我们传入了 '2023-07-15',并将返回的日期信息存储在 dateInfo 变量中,然后将其打印到控制台上,需要的朋友可以参考下

使用 Moment.js 可以轻松地获取上周、上月和前三个月的起始和结束时间。下面是一些示例代码

示例代码:

获取上周的起始和结束时间:

const startOfLastWeek = moment().subtract(1, 'weeks').startOf('week');
const endOfLastWeek = moment().subtract(1, 'weeks').endOf('week');

获取上月的起始和结束时间:

const startOfLastMonth = moment().subtract(1, 'months').startOf('month');
const endOfLastMonth = moment().subtract(1, 'months').endOf('month');

获取前三个月的起始和结束时间:

const startOfThreeMonthsAgo = moment().subtract(3, 'months').startOf('month');
const endOfThreeMonthsAgo = moment().subtract(1, 'months').endOf('month');

在这些示例中,我们使用 Moment.js 的 subtract 方法来减去指定的时间间隔,然后使用 startOfendOf 方法来获取起始和结束时间。可以根据需要进行调整,例如修改时间间隔或者调整时间的精度(如获取月份的起始和结束时间)。

请确保在使用这些代码时,已经正确引入 Moment.js 库,并且 Moment.js 的相关函数和方法可用。

年份、月份、日期的令牌

在 Moment.js 中,有一些令牌可以用于格式化年份、月份和日期。下面是一些常用的令牌:

  • YYYY:4位数的年份(例如:2023)
  • YY:2位数的年份(例如:23)
  • MMMM:完整的月份名称(例如:July)
  • MMM:缩写的月份名称(例如:Jul)
  • MM:2位数的月份(例如:07)
  • M:1位或2位数的月份(例如:7)
  • DD:2位数的日期(例如:15)
  • D:1位或2位数的日期(例如:15)

你可以在 Moment.js 中使用这些令牌来格式化日期。例如:

const date = moment();
const formattedYear = date.format('YYYY'); // 2023
const formattedMonth = date.format('MMMM'); // July
const formattedDate = date.format('DD'); // 15

在这个示例中,我们使用 Moment.js 的 format 方法来将日期格式化为指定的字符串。通过传入对应的令牌,我们可以获取年份、月份和日期的不同形式。

你可以根据自己的需求,使用适当的令牌来格式化日期。Moment.js 还提供了许多其他的令牌和格式化选项,可以根据需要进行进一步的探索和使用。

day()

在 Moment.js 中,day() 是一个获取日期的方法。它返回一个整数,表示给定日期是星期几,其中星期天为 0,星期一为 1,依此类推,星期六为 6。

下面是一个使用 day() 方法的示例:

const date = moment('2023-07-15');
const dayOfWeek = date.day();
console.log(dayOfWeek); // 输出:6

在这个示例中,我们使用 Moment.js 创建了一个日期对象,然后调用 day() 方法获取该日期是星期几,并将结果存储在 dayOfWeek 变量中。最后,我们将 dayOfWeek 打印到控制台上,结果是 6,表示该日期是星期六。

你可以根据需要使用 day() 方法来获取日期的星期几,并根据返回的整数值进行相应的处理。请注意,day() 方法返回的是基于 0 的索引,所以星期天是 0,星期一是 1,以此类推。如果你希望获取星期几的名称而不是索引,可以使用 Moment.js 的 format() 方法和相应的令牌来实现。

week()

在 Moment.js 中,week() 是一个获取日期所在年份的周数的方法。它返回一个整数,表示给定日期是所在年份的第几周。

下面是一个使用 week() 方法的示例:

const date = moment('2023-07-15');
const weekOfYear = date.week();
console.log(weekOfYear); // 输出:28

在这个示例中,我们使用 Moment.js 创建了一个日期对象,然后调用 week() 方法获取该日期所在年份的周数,并将结果存储在 weekOfYear 变量中。最后,我们将 weekOfYear 打印到控制台上,结果是 28,表示该日期是所在年份的第 28 周。

需要注意的是,week() 方法默认按照 ISO 周历计算周数,即每周从星期一开始,并且一年中的第一个周必须包含星期四。如果你希望按照其他周历计算周数,可以使用 Moment.js 的 isoWeek()week() 方法的第二个参数来指定。

你可以根据需要使用 week() 方法来获取日期所在年份的周数,并根据返回的整数值进行相应的处理。

month()

在 Moment.js 中,month() 是一个获取日期的方法。它返回一个整数,表示给定日期是哪个月份,其中一月为 0,二月为 1,依此类推,十二月为 11。

下面是一个使用 month() 方法的示例:

const date = moment('2023-07-15');
const month = date.month();
console.log(month); // 输出:6

在这个示例中,我们使用 Moment.js 创建了一个日期对象,然后调用 month() 方法获取该日期的月份,并将结果存储在 month 变量中。最后,我们将 month 打印到控制台上,结果是 6,表示该日期是七月。

需要注意的是,month() 方法返回的是基于 0 的索引,所以一月是 0,二月是 1,以此类推。如果你希望获取月份的名称而不是索引,可以使用 Moment.js 的 format() 方法和相应的令牌来实现。

你可以根据需要使用 month() 方法来获取日期的月份,并根据返回的整数值进行相应的处理。

封装一个整体方法

当然,我可以帮你封装一个方法来获取各种日期信息。以下是一个示例:

function getDateInfo(date) {
  const momentDate = moment(date);
  return {
    year: momentDate.year(),
    month: momentDate.month() + 1,
    day: momentDate.date(),
    dayOfWeek: momentDate.day(),
    weekOfYear: momentDate.week(),
    hour: momentDate.hour(),
    minute: momentDate.minute(),
    second: momentDate.second(),
  };
}
// 使用示例
const date = '2023-07-15';
const dateInfo = getDateInfo(date);
console.log(dateInfo);

在这个示例中,我们定义了一个名为 getDateInfo 的函数,它接受一个日期字符串作为参数。在函数内部,我们使用 Moment.js 将日期字符串转换为 Moment 对象,并使用 Moment 对象的各种方法来获取年份、月份、日期、星期几、所在年份的周数以及小时、分钟、秒等信息。最后,我们将这些信息封装在一个对象中,并将其返回。

你可以根据需要调用 getDateInfo 方法,并传入一个日期字符串来获取相应的日期信息。在示例中,我们传入了 '2023-07-15',并将返回的日期信息存储在 dateInfo 变量中,然后将其打印到控制台上。

请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。

到此这篇关于momentjs详细使用说明的文章就介绍到这了,更多相关momentjs使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript利用发布订阅模式编写事件监听函数

    JavaScript利用发布订阅模式编写事件监听函数

    发布订阅是一种设计模式,EventHub可以被看作是一种Pub/Sub实现。本文就来讲讲如何利用eventHub发布订阅写一个事件监听函数,感兴趣的可以了解一下
    2023-04-04
  • 从js向Action传中文参数出现乱码问题的解决方法

    从js向Action传中文参数出现乱码问题的解决方法

    Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题;但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象
    2013-12-12
  • 关于layui导航栏不展示下拉列表的解决方法

    关于layui导航栏不展示下拉列表的解决方法

    今天小编就为大家分享一篇关于layui导航栏不展示下拉列表的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript 是什么意思

    JavaScript 是什么意思

    javascript一种由Netscape的LiveScript发展而来的脚本语言,它提高与Java的兼容性。JavaScript采用HTML页作为其接口。很多朋友问js是什么意思?下面小编通过分享本教程给大家解答下,感兴趣的朋友参考下
    2016-09-09
  • JavaScript prototype属性深入介绍

    JavaScript prototype属性深入介绍

    每个函数创建时默认带有一个prototype属性,其中包含一个constructor属性,和一个指向Object对象的隐藏属性,需要的朋友可以参考下
    2012-11-11
  • three.js中正交与透视投影相机的实战应用指南

    three.js中正交与透视投影相机的实战应用指南

    在three.js中摄像机的作用就是不断的拍摄我们创建好的场景,然后通过渲染器渲染到屏幕中,下面这篇文章主要给大家介绍了关于three.js中正交与透视投影相机应用的相关资料,需要的朋友可以参考下
    2022-08-08
  • 学习使用Bootstrap页面排版样式

    学习使用Bootstrap页面排版样式

    这篇文章主要教大家学习使用Bootstrap页面排版样式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • html中table数据排序的js代码

    html中table数据排序的js代码

    最近应项目要求,需要对table中的数据进行升序或降序排列,于是研究了一下js,希望对大家有帮助。
    2011-08-08
  • 在IE下获取object(ActiveX)的Param的代码

    在IE下获取object(ActiveX)的Param的代码

    在IE下,获取Param的时候有个诡异现象(不知道算不算bug)。
    2009-09-09
  • 解决uniapp上传小程序体积过大的问题

    解决uniapp上传小程序体积过大的问题

    在昨天的工作中遇到了一个微信小程序上传代码过大的情况,在这里总结一下具体的解决步骤,首先介绍一下,技术栈是使用uniapp框架+HBuilderX的开发环境,需要的朋友可以参考下
    2023-09-09

最新评论