當“現在”為時,可用於更改的JavaScript模擬日期對象。
npm install mockdate --save-dev
模擬物已在節點,IE9+,Chrome,Firefox和Opera中進行了測試。
import MockDate from 'mockdate'
MockDate.set(date)
日期: Object
當沒有參數傳遞給new Date()
時返回的Date
。支持任何具有.valueOf
方法的對象,該對象將返回可以傳遞給new Date()
值。
日期: String
將日期的字符串表示傳遞給new Date()
構造函數。當沒有參數傳遞給new Date()
時,這會創建要返回的Date
。
日期: Number
當沒有參數傳遞給new Date()
時,要返回的Date
的毫秒錶示。
MockDate . reset ( ) ;
將將原始Date
對像還原回本機實現。
MockDate . set ( '2000-11-22' ) ;
new Date ( ) . toString ( ) // "Tue Nov 21 2000 18:00:00 GMT-0600 (CST)"
MockDate . set ( '1/30/2000' ) ;
new Date ( ) . toString ( ) // "Sun Jan 30 2000 00:00:00 GMT-0600 (CST)"
MockDate . set ( new Date ( '2/20/2000' ) ) ;
new Date ( ) . toString ( ) // "Sun Feb 20 2000 00:00:00 GMT-0600 (CST)"
MockDate . set ( moment ( '3/30/2000' ) . toDate ( ) ) ; // using momentjs
new Date ( ) . toString ( ) // "Thu Mar 30 2000 00:00:00 GMT-0600 (CST)"
MockDate . reset ( ) ;
new Date ( ) . toString ( ) // "Mon Mar 17 2014 18:08:44 GMT-0500 (CDT)"
npm test