36 lines
		
	
	
		
			781 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			781 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export default (function (_, c, dayjs) {
 | |
|   var proto = c.prototype;
 | |
| 
 | |
|   var parseDate = function parseDate(cfg) {
 | |
|     var date = cfg.date,
 | |
|         utc = cfg.utc;
 | |
| 
 | |
|     if (typeof date === 'string' && date.charAt(0) === '-') {
 | |
|       var normalData = date.slice(1);
 | |
|       var newDate = dayjs(normalData);
 | |
| 
 | |
|       if (utc) {
 | |
|         newDate = dayjs.utc(normalData);
 | |
|       } else {
 | |
|         newDate = dayjs(normalData);
 | |
|       }
 | |
| 
 | |
|       var fullYear = newDate.year();
 | |
| 
 | |
|       if (date.indexOf("-" + fullYear) !== -1) {
 | |
|         return dayjs(newDate).subtract(fullYear * 2, 'year').toDate();
 | |
|       }
 | |
| 
 | |
|       return date;
 | |
|     }
 | |
| 
 | |
|     return date;
 | |
|   };
 | |
| 
 | |
|   var oldParse = proto.parse;
 | |
| 
 | |
|   proto.parse = function (cfg) {
 | |
|     cfg.date = parseDate.bind(this)(cfg);
 | |
|     oldParse.bind(this)(cfg);
 | |
|   };
 | |
| }); |