Node.js Moment

2018-02-16 09:27 更新

安裝moment如下:

npm install moment

moment提供了一個函數(shù),可用于將JavaScript的date對象包裝到moment對象中。

有很多方法來創(chuàng)建moment對象。 最簡單的是簡單地傳遞一個date對象。

例子

要將moment對象轉(zhuǎn)換為JavaScript date,只需調(diào)用toDate成員函數(shù)。

var moment = require("moment"); 

// From date to moment 
var wrapped = moment(new Date()); 
console.log(wrapped); 

// From moment to date 
var date = wrapped.toDate(); 
console.log(date); 

Date字符串解析

Moment提供可靠的字符串解析。

解析的字符串的結(jié)果是一個包裝的moment對象。

要解包,請調(diào)用toDate。

var moment = require("moment"); 
// From string to date 
console.log(moment("12-25-1995", "MM-DD-YYYY").toDate()); 
console.log(moment("2010-10-20 4:30", "YYYY-MM-DD HH:mm").toDate()); 

Date格式

moment可以做date格式化。

var moment = require("moment"); 
/*from   hgci.cn*/
var date = new Date(2010, 1, 14, 15, 25, 50); 
var wrapped = moment(date); 

// "Sunday, February 14th 2010, 3:25:50 pm" 
console.log(wrapped.format(""dddd, MMMM Do YYYY, h:mm:ss a"")); 

// "Sun, 3PM" 
console.log(wrapped.format("ddd, hA")); 

var a = moment([2007, 0, 15]); // 15 Jan 2007 
var b = moment([2007, 0, 16]); // 16 Jan 2007 
var c = moment([2007, 1, 15]); // 15 Feb 2007 
var d = moment([2008, 0, 15]); // 15 Jan 2008 

console.log(a.from(b)); // "a day ago" 
console.log(a.from(c)); // "a month ago" 
console.log(a.from(d)); // "a year ago" 

console.log(b.from(a)); // "in a day" 
console.log(c.from(a)); // "in a month" 
console.log(d.from(a)); // "in a year" 

序列化Date

如果我們在JavaScript date中調(diào)用toJSON方法,我們將獲取ISO8601格式化的字符串。

類似地,將此字符串傳遞給JavaScript date構(gòu)造函數(shù)會給我們提供一個新的JavaScript date對象。

var date = new Date(Date.UTC(2020, 0, 1)); 
console.log("Original", date); 
// To JSON 
var jsonString = date.toJSON(); 
console.log(jsonString); // 2020-01-01T00:00:00.000Z 
// From JSON 
console.log("Round Tripped",new Date(jsonString)); 

如果任何對象都有一個toJSON方法,當(dāng)它試圖序列化到JSON時,它將被JSON.stringify調(diào)用。

因此,如果我們想要,可以使用它來定制任何JavaScript對象的序列化。

var foo = {}; 
var bar = { "foo": foo }; 
//  hgci.cn
// Uncustomized serialization 
console.log(JSON.stringify(bar)); // {"foo":{}} 

// Customize serialization 
foo.toJSON = function () { return "custom" }; 
console.log(JSON.stringify(bar)); // {"foo":"custom"} 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號