【JavaScript源代码】moment.js 时间日期处理详解.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
moment.js 时间日期处理详解 周一 至 周日 时间格式化转化 (Y --- 年 M --- 月 D--- 天) var timeNow = new Date()// 当前时间 var weekOfday = moment(timeNow).format('E'); // 计算今天是这周第几天 var nowDay = moment(timeNow).format('YYYY-MM-DD') // 当前日期 var Monday = moment(timeNow).subtract(weekOfday - 1, 'days').format('YYY ### Moment.js 时间日期处理详解 #### 一、简介 `Moment.js` 是一款非常流行的 JavaScript 库,专门用于处理和格式化日期与时间。它提供了一系列简单易用的方法来解析、验证、操作和显示日期时间数据。对于前端开发人员来说,`Moment.js` 提供的强大功能使得日期和时间的操作变得异常简单。 #### 二、基本用法 在使用 `Moment.js` 进行日期和时间的处理之前,我们首先需要了解几个基础概念: 1. **获取当前时间**:使用 JavaScript 内置的 `Date` 对象可以轻松获取当前时间。 ```javascript var timeNow = new Date(); ``` 2. **计算今天是一周中的第几天**:利用 `moment.js` 的 `format` 方法,可以方便地获取到今天是一周中的第几天(星期几)。 ```javascript var weekOfday = moment(timeNow).format('E'); ``` 其中,`'E'` 表示返回一个数字,表示一周中的第几天(1-7),其中 1 代表周一,7 代表周日。 3. **获取当前日期**:使用 `moment.js` 的 `format` 方法可以将日期对象格式化为指定格式的字符串。 ```javascript var nowDay = moment(timeNow).format('YYYY-MM-DD'); ``` 4. **计算本周周一至周日的具体日期**:通过上述获取的一周中的第几天的信息,我们可以很容易地计算出本周每一天的具体日期。 ```javascript var Monday = moment(timeNow).subtract(weekOfday - 1, 'days').format('YYYY-MM-DD'); var Tuesday = moment(timeNow).subtract(weekOfday - 2, 'days').format('YYYY-MM-DD'); var Wednesday = moment(timeNow).subtract(weekOfday - 3, 'days').format('YYYY-MM-DD'); var Thursday = moment(timeNow).subtract(weekOfday - 4, 'days').format('YYYY-MM-DD'); var Friday = moment(timeNow).subtract(weekOfday - 5, 'days').format('YYYY-MM-DD'); var Saturday = moment(timeNow).subtract(weekOfday - 6, 'days').format('YYYY-MM-DD'); var Sunday = moment(timeNow).add(7 - weekOfday, 'days').format('YYYY-MM-DD'); ``` #### 三、日期格式化 `Moment.js` 提供了丰富的日期格式化选项,以下是一些常用的例子: 1. **获取当前月份的总天数**: ```javascript moment().daysInMonth(); ``` 2. **自定义日期格式**: ```javascript moment().format('MMMMDoYYYY,h:mm:ssa'); // 例如:五月27日2020,4:47:31下午 moment().format('dddd'); // 星期三 moment().format("MMMDoYY"); // 5月27日20 moment().format('YYYY[escaped]YYYY'); // 2020escaped2020 moment().format(); // 2020-05-27T16:47:31+08:00 ``` 3. **格式化指定日期**: ```javascript moment("20111031", "YYYYMMDD").fromNow(); // 例如:9年前 moment("20120620", "YYYYMMDD").fromNow(); // 8年前 ``` #### 四、日期操作 除了基本的日期格式化之外,`Moment.js` 还提供了多种日期操作的功能: 1. **日期的增减**: ```javascript moment().subtract(10, 'days').calendar(); // 2020/05/17 moment().add(10, 'days').calendar(); // 2020/06/06 ``` 2. **日期的比较**: ```javascript moment().isBefore(moment().subtract(1, 'days')); // true moment().isAfter(moment().add(1, 'days')); // false ``` 3. **获取特定时间点**: ```javascript moment().startOf('day').fromNow(); // 17小时前 moment().endOf('day').fromNow(); // 7小时内 moment().startOf('hour').fromNow(); // 1小时前 ``` 4. **日期的日历视图**: ```javascript moment().subtract(1, 'days').calendar(); // 昨天16:47 moment().calendar(); // 今天16:47 moment().add(1, 'days').calendar(); // 明天16:47 ``` #### 五、国际化支持 `Moment.js` 支持多种语言的日期格式化,例如中文: 1. **设置语言环境**: ```javascript moment.locale('zh-cn'); ``` 2. **中文格式化**: ```javascript moment().format('LT'); // 16:47 moment().format('LTS'); // 16:47:31 moment().format('L'); // 2020/05/27 moment().format('l'); // 2020/5/27 moment().format('LL'); // 2020年5月27日 moment().format('ll'); // 2020年5月27日 moment().format('LLL'); // 2020年5月27日下午4点47分 moment().format('lll'); // 2020年5月27日16:47 moment().format('LLLL'); // 2020年5月27日星期三下午4点47分 moment().format('llll'); // 2020年5月27日星期三下午4点47分 ``` 以上就是 `Moment.js` 在日期时间处理方面的一些基本用法和高级技巧。通过这些强大的功能,我们可以非常方便地进行日期时间的处理,大大提高了开发效率。























- 粉丝: 1w+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 机器学习和深度学习入门教程
- 基于MATLABSimulink的三相无源逆变器下垂控制仿真模型及其应用
- 基于MATLAB YALM IP与CPLEX的微网电源容量两阶段鲁棒优化配置研究及应用
- 基于MATLAB人工势场法的无人机三维路径规划代码
- 基于Matlab Simulink的SVC与PSS对电力系统暂态稳定性影响的仿真研究 手册
- 三相不平衡潮流计算的前推回代法及其在Matlab中的编程实现与应用 (基于三相节点负荷与线路阻抗参数的配电网研究) 前推回代 v2.1
- 蒙特卡洛法求椭圆面积的MATLAB源程序代码
- 西门子smart200 ST40脉冲控制下的三轴桁架机械手上下料程序及详细讲解 权威版
- C# Windows窗体开发的远程图书管理系统:增删查改、登录注册及图片上传功能的技术解析
- 机器学习与深度学习的练习实践活动
- 基于Matlab Simulink的非线性空气悬架模块化建模与仿真实战指南
- 永磁同步电机有限集模型预测控制算法的MATLAB实现及其波形稳定应用 波形稳定
- 欧姆龙NJNX PLC POD映射实现多轴控制的技术解析及应用案例
- 科源980TC三轴车床数控系统:支持主轴分度的高效机床改造解决方案
- 多路输出电源模块设计:超宽输入电压、小体积、高效率及平面变压器的应用
- 电力电子领域Vienna整流器SVPWM调制与双闭环控制仿真研究及应用 - SVPWM调制


