| 
									
										
										
										
											2020-06-17 05:13:59 +00:00
										 |  |  | var abstime = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/; | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | function fmt_is_date(fmt/*:string*/)/*:boolean*/ { | 
					
						
							| 
									
										
										
										
											2017-05-10 05:57:43 +00:00
										 |  |  | 	var i = 0, /*cc = 0,*/ c = "", o = ""; | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | 	while(i < fmt.length) { | 
					
						
							|  |  |  | 		switch((c = fmt.charAt(i))) { | 
					
						
							|  |  |  | 			case 'G': if(isgeneral(fmt, i)) i+= 6; i++; break; | 
					
						
							| 
									
										
										
										
											2020-01-26 02:32:32 +00:00
										 |  |  | 			case '"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break; | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | 			case '\\': i+=2; break; | 
					
						
							|  |  |  | 			case '_': i+=2; break; | 
					
						
							|  |  |  | 			case '@': ++i; break; | 
					
						
							|  |  |  | 			case 'B': case 'b': | 
					
						
							|  |  |  | 				if(fmt.charAt(i+1) === "1" || fmt.charAt(i+1) === "2") return true; | 
					
						
							|  |  |  | 				/* falls through */ | 
					
						
							|  |  |  | 			case 'M': case 'D': case 'Y': case 'H': case 'S': case 'E': | 
					
						
							|  |  |  | 				/* falls through */ | 
					
						
							|  |  |  | 			case 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true; | 
					
						
							| 
									
										
										
										
											2020-06-17 05:13:59 +00:00
										 |  |  | 			case 'A': case 'a': case '上': | 
					
						
							| 
									
										
										
										
											2017-06-09 00:59:13 +00:00
										 |  |  | 				if(fmt.substr(i, 3).toUpperCase() === "A/P") return true; | 
					
						
							|  |  |  | 				if(fmt.substr(i, 5).toUpperCase() === "AM/PM") return true; | 
					
						
							| 
									
										
										
										
											2020-06-17 05:13:59 +00:00
										 |  |  | 				if(fmt.substr(i, 5).toUpperCase() === "上午/下午") return true; | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | 				++i; break; | 
					
						
							|  |  |  | 			case '[': | 
					
						
							|  |  |  | 				o = c; | 
					
						
							|  |  |  | 				while(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i); | 
					
						
							|  |  |  | 				if(o.match(abstime)) return true; | 
					
						
							|  |  |  | 				break; | 
					
						
							|  |  |  | 			case '.': | 
					
						
							|  |  |  | 				/* falls through */ | 
					
						
							|  |  |  | 			case '0': case '#': | 
					
						
							| 
									
										
										
										
											2017-05-10 05:57:43 +00:00
										 |  |  | 				while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1))){/* empty */} | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | 				break; | 
					
						
							| 
									
										
										
										
											2017-05-10 05:57:43 +00:00
										 |  |  | 			case '?': while(fmt.charAt(++i) === c){/* empty */} break; | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | 			case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; | 
					
						
							|  |  |  | 			case '(': case ')': ++i; break; | 
					
						
							|  |  |  | 			case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': | 
					
						
							| 
									
										
										
										
											2017-05-10 05:57:43 +00:00
										 |  |  | 				while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){/* empty */} break; | 
					
						
							| 
									
										
										
										
											2017-03-21 07:45:12 +00:00
										 |  |  | 			case ' ': ++i; break; | 
					
						
							|  |  |  | 			default: ++i; break; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return false; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | SSF.is_date = fmt_is_date; |