当“现在”为时,可用于更改的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