34 lines
		
	
	
		
			685 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			685 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;
							 |