momentjs javascript日期库教程

967 阅读2分钟

什么是MomentJS

MomentJs 是一个开源的JavaScript库,用于操作和解析日期对象。 每个开发者在他们的项目开发中都需要知道如何操作日期和时间。

JavaScript有一个日期对象,开发者必须写大量的代码来操作日期和时间对象,而且没有灵活的方法来解析和验证该对象。

在JavaScript中,有很多日期和时间库。MomentJS 是javascript应用程序中最流行的库之一。

Moments库可以用于普通的基于网络的JavaScript/jQuery应用程序,也可以用于NodeJS/typescript应用程序。

MomentJS是一个激动人心的库,不依赖任何框架,可以用于前端和后端的Javascript应用。

我们可以通过以下不同方式配置momentjs

在HTML的脚本标签中使用momentjs

可以从 momentjs 官方网站下载最新的库,也可以在脚本标签中使用momentjs 的 cdn 网址

<html>  
  <head>  
    <script src="pathto/moment.js"></script>  
    <script>  
      moment().format();  
    </script>  
  </head>  
  <body>  
  </body>  
</html>  

在nodejs环境中使用npm包

这有npm包用于nodejs应用。

我们可以使用node包管理器或yarn命令来安装这个依赖关系

npm install moment --save
yarn add moment

首先,你必须使用npm命令安装 moment js 库。

在typecript代码中,使用下面的代码,就像这样

 import * as moment from moment ; 
let now = moment();

进入下一节,我们将看到各种momentjs 示例

如何使用momentJS在javascript中获取当前日期和时间

Moment对象有一个空的构造函数,它给出了当前的日期和时间

<html>  
   <head>  
      <title>Moment.js Example Current Date and time</title>  
   </head>  
   <body>  
      <H1> javascript example for Current Date and Time </H1>  
      <div id="showCurrentDateMomentJs"></div>  
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>  
      <script src="lib/moment.js"></script>  
      <script>  
         var CurrentDateAndTime = document.getElementById('showCurrentDateMomentJs');  
         var CurrentDateAndTimeMoment = moment();  
         CurrentDateAndTime.innerHTML=CurrentDateAndTimeMoment;  
      </script>  
   </body>  
</html>  
  

输出是Thu Jul 05 2018 12:08:47 GMT+0530

MomentJs格式实例

使用Format方法,我们可以将日期格式化为各种格式,也可以验证日期。

下面的代码返回各种格式的日期

moment().format() - 018-07-11T12:04:35+05:30  
moment().format('dd')- Wed  
moment().format("MMM Do YYYY") - Jul 11th 2018  

在字符串格式化过程中,任何字符如连字符(-)或斜线(/)都不会被考虑。

moment('01-12-2018').format('MM/DD/YYY') - 01-12-2018  

瞬间format ,使用isValid方法来检查传递的值是否为日期格式。

var m = moment("2018-20-08",'YYYY-DD-MM');  
m.isValid()  //returns true  
var m1 = moment("20-08-2018");  
 m1.isValid() // returns false  

要启用时区功能,需要添加momentJS 时区库

moment.utc().format('YYYY-MM-DD HH:mm:ss')  
UTC time is  2018-07-10 16:06:39  
  //below code  convert UTC to local timezone    
    var currentLocalTime  = moment.utc('2018-07-10 16:06:39').toDate();  
    localTimeFromUTC = moment(currentLocalTime).format('YYYY-MM-DD HH:mm:ss');  
  
Your Local Time related to UTC as mentioned above 2018-07-10 21:36:39`