# moment.js

## 获取当前时间

//返回当前时间moment()时间对象
moment();
moment(new Date());
//返回当前时间毫秒数
moment().valueOf() === Date.now() === new Date().getTime() === new Date().valueOf()

返回结果:2018-08-23T08:35:36.653 / 1534986255282

## 格式化当前时间

let today = moment().format('YYYY-MM-DD');
moment(new Date()).format('YYYY/MM/DD HH:mm:ss');//格式化时间戳(以秒为单位)
moment().format('X')
//格式化时间戳(以毫秒为单位)
moment().format('x') === moment().valueOf();

## 原生Date对象同moment对象相互转换

//转换为date对象
moment().toDate() === new Date(moment())
//转换为moment对象
moment(new Date())

## 当前时间-取值操作

//获取当前时间年数
moment().year() === new Date().getFullYear() === moment().get('y')
//获取当前时间月数
moment().month()+1 === new Date().getMonth()+1
//获取当前时间秒数
moment().seconds() === moment().second() === new Date().getMonth()
//获取当前时间毫秒数
moment().millisecond() === moment().milliseconds()

## subtract()

//七天前的时间
let last7 = moment().subtract(6 ,'days').format('YYYY-MM-DD');
//本周第一天,周日
moment().day(0).format('YYYY-MM-DD');
//拓展-2018-07-5后一天
moment('2018-07-5').subtract(-1 ,'days').format('YYYY-MM-DD');
//获取上个月今天的日期
moment().subtract(1, 'months').format('YYYY-MM-DD');

返回结果:2018-08-17

## add()

//后一天时间
moment().add(1, 'd').format('YYYY-MM-DD')
//两小时之后
moment().add(2,'hours').format('YYYY-MM-DD HH:mm:ss');

## 本周五

moment().weekday(5).format('YYYY-MM-DD');

*## 上周五

moment().weekday(-3).format('YYYY-MM-DD');

## 本月第一天

//本月第一天
let thisMonthFirst = moment().startOf('month').format('YYYY-MM-DD');
//本年第一天
let thisYearFirst = moment().startOf('year').format('YYYY-MM-DD');

## 本月最后一天

//本月最后一天
moment().endOf('year').format('YYYY-MM-DD');
//本年最后一天
moment().endOf('month').format('YYYY-MM-DD');

## 上个月最后一天

moment('2018-10-06').date(0).format('YYYY-MM-DD');

## 是否之前

moment('2010-10-20').isBefore('2010-10-21'); // true
moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment('2010-10-20').isBefore('2011-01-01', 'year'); // true

## 是否相同(判断年、月、日)

moment('2010-10-20').isSame('2010-10-20'); // true
moment('2010-10-20').isSame('2009-12-31', 'year');  // false
moment('2010-10-20').isSame('2010-01-01', 'year');  // true
moment('2010-10-20').isSame('2010-10-31', 'month');  // true
moment('2010-10-20').isSame('2011-01-01', 'year');  // false

## 是否之后(同是否之前)

moment('2010-10-20').isAfter('2010-01-01', 'year'); // false
moment('2010-10-20').isAfter('2009-12-31', 'year'); // true

## 是否之间

moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true

## 标准化单位

moment().get('y')           // 'year'
moment().get('year')        // 'year'
moment().get('years')       // 'year'
moment().year()             // 'year'
moment().years()            // 'year'moment().get('M')+1         // 'month'
moment().get('Month')+1     // 'month'
moment().get('Months')+1    // 'month'
moment().get('month')+1     // 'month'
moment().get('months')+1    // 'month'
moment().month()+1
moment().months()+1moment().get('D')           // 'Day'
moment().get('Day')
moment().get('Days')
moment().day()
moment().days()moment().get('H');          // 'Hours'
moment().get('Hour');
moment().get('Hours');
moment().get('h');          // 'Hours'
moment().get('hour');
moment().get('hours');
moment().hour();
moment().hours();moment().get('m');          //minute
moment().get('minute');
moment().get('minutes');
moment().get('Minute');
moment().get('Minutes');moment().get('s');          //second
moment().get('second');
moment().get('seconds');
moment().get('S');
moment().get('Second');
moment().get('Seconds');
moment().second();
monent().seconds();

后记:在使用moment格式化时间的时候经常会出现比实际时间迟8小时的问题,使用utcOffset解决

monent(myDate).utcOffset(0).format('YYYY/MM/DD HH:mm:ss')
monent(myDate).utc(0).format('YYYY/MM/DD HH:mm:ss')

参考文档:Moment.js中文网

时间格式化及操作(moment.js篇)相关推荐

  1. 3种时间格式化的方法,SpringBoot篇!

    时间格式化在项目中使用频率是非常高的,当我们的 API 接口返回结果,需要对其中某一个 date 字段属性进行特殊的格式化处理,通常会用到 SimpleDateFormat 工具处理. SimpleD ...

  2. js 格式化 java时间格式化_用JavaScript(js)对时间格式化

    可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,下面贴出一个用js格式化时间的方法. Date.prototype.format=functio ...

  3. js之dom操作练习 ---- js篇

    一.自动计数器 <html> <head> <script type="text/javascript"> var c=0 var t func ...

  4. java给时间设置格式化_java怎样给时间格式化

    java怎样给时间格式化 [提要]本篇<java如何给时间格式化>特别为需要格式编程学习的朋友收集整理的,仅供参考.内容如下: java中如何格式化的时间,这是一个很简单的`问题,在实际的 ...

  5. javascript时间格式format函数,js日期格式化函数

    我在之前有一篇文章,写的是"javascript时间戳函数",大家可以看一下,记录了js时间戳的转换,今天主要写的函数式日期格式化函数,我们有时候调用的new Date()不是格式 ...

  6. Js获取当前日期时间及其它操作(转)

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  7. js获取当前日期时间和其他操作

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  8. JS日期与字符串相互转换(时间格式化YYYY-MM-DD,Dayjs的使用)

    JS日期与字符串相互转换--JS封装函数,Dayjs转换时间格式 相关文章调用 场景复现 一.JS封装函数 1.日期转字符串 2.字符串转日期 二. Dayjs转换时间格式 1.Dayjs快速安装与使 ...

  9. 时间戳显示为多少分钟前,多少天前的JS处理,JS时间格式化,时间戳的转换

    var dateDiff = function (timestamp) {// 补全为13位var arrTimestamp = (timestamp + '').split('');for (var ...

最新文章

  1. .NET CORE迁移踩坑
  2. linux如何去掉目录背景颜色
  3. kettle预览点两下才出数_BBG代王 | 7.16直播预览
  4. boost::hana::ap用法的测试程序
  5. No changes detected解决方案
  6. 关于.net framework 1.1 与 .net framework 2.0的小问题
  7. vb6 word 2002 合并单元格_Word制作公司人员登记表,方法简单,新手练习表格,一起来学吧...
  8. ffmpeg1.2的filter分析
  9. Hadoop整理四(Hadoop分布式计算框架MapReduce)
  10. 《机械原理》上 学后感
  11. JAVA毕业设计后勤管理系统计算机源码+lw文档+系统+调试部署+数据库
  12. pb5.0-pb10.0各版本高速下载
  13. 计算机启动dos,开机怎么进入dos_开机怎么进入dos界面
  14. 挚文集团2021年Q3净营收37.592亿元 环比增长2.4%
  15. Ansible主机清单—inventory主机清单
  16. Pentest Wiki Part2 漏洞评估
  17. 基于html5的五子棋游戏
  18. 《和平精英》与玛莎拉蒂跨界合作
  19. dell emc isilon解决添加AD域后有时间不同步警告
  20. 互联网日报 | 吉利汽车完成科创板上市辅导;华为开发者大会9月10日举行;贵州茅台整治“年份酒”乱象...

热门文章

  1. 360智能工程中心期待你的加入
  2. system函数阻塞_简单的Java阻塞队列
  3. Spring Cloud Sleuth+Zipkin 构建微服务链路跟踪系统
  4. 计算机工程与应用 网站,计算机工程与应用杂志
  5. Onvif备忘录(2)----客户端端设备发现
  6. gin源码解析(1) - gin 与 net/http 的关系
  7. SpringBoot整合kafka实战之带回调的生产者
  8. Redis数据结构之有序集合
  9. Dynamics CRM2011 通过DeveloperToolkit在VS中部署遇到的问题
  10. Spring boot 之 动态的获取不同的实现类