js中moment方法_jquery 虚拟dom

js中moment方法_jquery 虚拟domvue项目中,需要把moment.js挂载到全局上(即vue的原型链上),访问时直接使用this.moment();vue项目中不挂载到全局,单文件(单组件)使用:==>>importmomentfrom”moment”;然后直接使用moment()1.初始化日期/时间初始化日期:moment().for…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

vue项目中,需要把 moment.js 挂载到全局上(即vue的原型链上),访问时直接使用 this.moment() ;

vue项目中不挂载到全局,单文件(单组件)使用:

          ==>>  import moment from “moment”;      然后直接使用 moment() 

1. 初始化日期 / 时间

初始化日期:moment().format(‘YYYY-MM-DD’);

初始化日期时间:moment().format(‘YYYY-MM-DD HH:mm:ss’);

2. 格式化日期 / 时间

格式化日期:moment(value).format(‘YYYY-MM-DD’);

格式化日期时间:moment(value).format(‘YYYY-MM-DD HH:mm:ss’);

3. 加/减  ==>>  操作之前必须使用 this.moment(日期变量) ;将要操作的日期转为 moment.js 可以处理的日期时间格式

加法:this.moment().add(1, ‘months’).format(‘YYYY-MM-DD’);    ==>> 当前日期加一个月并输出格式为 ‘YYYY-MM-DD’

加法:this.moment(startDate).add(2, ‘days’).format(‘YYYY-MM-DD’)      ==>> 指定日期(startDate)加2天并输出格式                                                                                                                                       为 ‘YYYY-MM-DD’

减法: this.moment().subtract(7, ‘days’);     ==>> 当前时间减去7天

加法:this.moment(startDate).subtract(2, ‘days’).format(‘YYYY-MM-DD’)      ==>> 指定日期(startDate)加减去2天并输出格式                                                                                                                                       为 ‘YYYY-MM-DD’

4. 获取某年某月的第一天或最后一天

获取某年某月的第一天:startOf(‘month’)、startOf(‘year’)

moment(日期).startOf('month').format("YYYY-MM-DD")//日期可以是 年月的格式 也可以是年月日的格式

moment(日期).startOf('year').format("YYYY-MM-DD")

获取某年某月的最后一天:endOf(‘month’)、endOf(‘year’)

moment(日期).endOf('month').format("YYYY-MM-DD")//日期可以是 年月的格式 也可以是年月日的格式

moment(日期).endOf('year').format("YYYY-MM-DD")

5. 获取星期几

获取星期几: this.moment().day()  或  this.moment(startDate).day()      ==>> 当前日期/指定日期 是星期几(星期日为 0、星期六为 6

6. 获取毫秒数

获取毫秒数:this.moment().valueOf()  或  this.moment(startDate).valueOf()   

                     ==>> 在获取指定时间的毫秒数时,必须要有日期。即startDate包括日期时间

7. 获取时间差(以毫秒计算)

两个日期/时间的时差:this.moment(endTime).diff(this.moment(startTime),’days’ )

                                     ==>>  开始时间和结束时间的时间差,以“天”为单位;endTime和startTime都是毫秒数

                                    this.moment(endTime).diff(this.moment(startTime), ‘minutes’)

                                     ==>>  开始时间和结束时间的时间差,以“分钟”为单位

                    ==>> 注意:计算时间差时,可以以 “years”、“days”、“hours”、“minutes” 以及 “seconds” 为单位输出!

8. 两个具体的日期之差(天数,也可以是年)

js中moment方法_jquery 虚拟dom

9. 获取时、分、秒

原理:利用字符串的 split 方法拆分时分秒,然后分别用moment的 hour、minute 和 second 方法;带有日期的可以用 .valueof() 方法。

const fixStart = '08:00:00'

const getHour = this.moment().hour(Number(fixStart.split(':')[0]));
const getMinute = this.moment().minute(Number(fixStart.split(':')[1]));
const getSecond = this.moment().second(Number(fixStart.split(':')[2]));
            
// 描述为0,直接写出second(0)
const getHour_Minute_Second = this.moment().hour(Number(fixStart.split(':')[0])).minute(Number(fixStart.split(':')[1])).second(0);       

console.log('=====输出',getHour,getMinute,getSecond,getHour_Minute_Second);

得到的结果都是moment.js 自身的时间格式。可以用 format 转换为自己想要的格式,也可以用 diff 方法做时间差的计算

js中moment方法_jquery 虚拟dom

10. 将毫秒数转为时分秒

注意:毫秒转为其他单位时,达到你想要转的单位时,为1,超过时不管,不足时为0;

           如4800000(80分钟),转为天:0

                                                   转为小时:1

                                                   转为分钟:20

                                                   转为秒:0

const msTime = 4800000;        //80分钟

moment.duration(msTime).hours();       //转为小时,值为1
moment.duration(msTime).minutes();     //转为分钟,值为20
moment.duration(msTime).seconds();     //转为秒,值为0

转为其他单位:

moment.duration(msTime, 'seconds');        //转为秒
moment.duration(msTime, 'minutes');        //转为分
moment.duration(msTime, 'hours');          //转为小时
moment.duration(msTime, 'days');           //转为天
moment.duration(msTime, 'weeks');          //转为周
moment.duration(msTime, 'months');         //转为月
moment.duration(msTime, 'years');          //转为年

对应的显示格式:

js中moment方法_jquery 虚拟dom

11. 判断一个日期是否在两个日期之间  isBetween

语法: this.moment().isBetween(moment-like, moment-like, String, String);

a. 不包含起始这两个日期(只有两个参数)   ==>> 中文网只有两个参数

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

b. 自定义是否包含起始日期(四个参数,主要是第四个参数)   ==>> 英文网才有四个参数

        第三个参数,固定为null;

        第四个参数,字符串,( ) 表示不包含,[ ] 表示包含。右括号制开始日期,右括号控制结束日期

this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '[)'); //true
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '(]'); //true
this.moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '[]'); //true

12. 判断一个日期是否在另外一个日期 前 isBefore

语法: this.moment( end ).isBefore( start )  moment文档

a. 默认比较日期

注意:两个日期相同是,结果也是 false

moment('2022-04-20').isBefore('2022-04-25');  // true  => 第一个日期在第二个日期前
moment('2022-04-28').isBefore('2022-04-25');  // false => 第一个日期不在第二个日期前
moment('2022-04-25').isBefore('2022-04-25');  // false => 两个日期相同

b. 第二个参数用于确定精度,因此可以指定检查年份、月份、日期

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

文章仅为本人学习过程的一个记录,仅供参考,如有问题,欢迎指出!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196862.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WeakHashMap类

    WeakHashMap类一代码示例importjava.util.*;publicclassWeakHashMapTest{ publicstaticvoidmain(String[]args) { WeakHashMapwhm=newWeakHashMap(); //HashMapwhm=newHashMap(); //将WeakHashM…

    2022年5月31日
    34
  • php中文的正则表达式_php 正则表达式匹配中文汉字

    php中文的正则表达式_php 正则表达式匹配中文汉字文章告诉你如何利用php正则表达式匹配中文汉字哦,下面我们主要讲利用preg_matchmb_eregi来验证汉字,并且正则过程出现问题的解决方法。preg_match(“/[a-z]{3,14}/”,$content,[可选]$a);这个返回布尔值,$a得到的是数组,把匹配到的字符防在$a;正则汉字echo(mb_eregi(“[x80-xff].”,”中d文”)?”有”:”…

    2022年6月18日
    22
  • ADC采样滤波算法利用卡尔曼滤波算法详解

    ADC采样滤波算法利用卡尔曼滤波算法详解1ADC采样模型假设ADC采样的值已经为稳定状态,设k+1k+1k+1时刻ADC采样值为Xk+1Xk+1X_{k+1},则kkk时刻ADC采样值为XkXkX_k,假设k+1k+1k+1时刻的采样值为Zk+1Zk+1Z_{k+1},则有:{Xk+1=Xk,Zk+1=Xk+1+δ,δ为噪声{Xk+1=Xk,Zk+1=Xk+1+δ,δ为噪声\begin{cases}X_{k+1}=X…

    2022年6月12日
    33
  • crane:字典项与关联数据处理的新思路[通俗易懂]

    crane:字典项与关联数据处理的新思路[通俗易懂]前言在我们日常开发中,经常会遇到一些烦人的数据关联和转换问题,比如典型的:对象属性中个有字典id,需要获取对应字典值并填充到对象中;对象属性中有个外键,需要关联查询对应的数据库表实体,并获取其

    2022年8月16日
    5
  • emwin 汉字_emwin 弹出效果

    emwin 汉字_emwin 弹出效果emWin—显示汉字最近接触了emWin,需要做一个简单的界面,尝试在基于stm32f429的触摸屏上显示汉字,根据例程里面的操作,字库取模得到了C文件,添加到keil工程里面,最后在触摸屏上却没有显示任何汉字,对于emWin界面的程序结构一脸懵,最后发现有些小细节没有注意。1.字库取模①首先创建一个.txt文本文档,把需要显示的汉字添加进去,然后选择另存。②打开软件FontCvt,生成…

    2022年10月14日
    0
  • 详述 Java 语言中的格式化输出

    详述 Java 语言中的格式化输出1前言相信大家在学习Java语言的时候,见到的第一条输出语句,就是:System.out.println(“HelloWorld”);毫无疑问,该语句的作用就是将HelloWorld打印到控制台,格式也非常的简单,直接按原格式输出。但是,如果将输出的内容换成“数值”或者“日期”呢?其打印的格式是否会有什么不同的变化呢?在本文中,就让咱们一起看一看在Java语言中,数值和日期是如何进行格

    2022年7月8日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号