31 lines
		
	
	
		
			648 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			648 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | const DatePart = require('./datepart'); | ||
|  | 
 | ||
|  | class Month extends DatePart { | ||
|  |   constructor(opts = {}) { | ||
|  |     super(opts); | ||
|  |   } | ||
|  | 
 | ||
|  |   up() { | ||
|  |     this.date.setMonth(this.date.getMonth() + 1); | ||
|  |   } | ||
|  | 
 | ||
|  |   down() { | ||
|  |     this.date.setMonth(this.date.getMonth() - 1); | ||
|  |   } | ||
|  | 
 | ||
|  |   setTo(val) { | ||
|  |     val = parseInt(val.substr(-2)) - 1; | ||
|  |     this.date.setMonth(val < 0 ? 0 : val); | ||
|  |   } | ||
|  | 
 | ||
|  |   toString() { | ||
|  |     let month = this.date.getMonth(); | ||
|  |     let tl = this.token.length; | ||
|  |     return tl === 2 ? String(month + 1).padStart(2, '0') : tl === 3 ? this.locales.monthsShort[month] : tl === 4 ? this.locales.months[month] : String(month + 1); | ||
|  |   } | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = Month; |