⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 locale.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
if(!dojo._hasResource["dojo.date.locale"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo.date.locale"] = true;dojo.provide("dojo.date.locale");// Localization methods for Date.   Honor local customs using locale-dependent dojo.cldr data.dojo.require("dojo.date");dojo.require("dojo.cldr.supplemental");dojo.require("dojo.regexp");dojo.require("dojo.string");dojo.require("dojo.i18n");// Load the bundles containing localization information for// names and formatsdojo.requireLocalization("dojo.cldr", "gregorian", null, "zh-cn,zh,en-ca,ko-kr,pt,pt-br,it-it,ROOT,en-gb,de,ja,en,en-au,fr,es,ko,zh-tw,it,es-es");//NOTE: Everything in this module assumes Gregorian calendars.// Other calendars will be implemented in separate modules.(function(){	// Format a pattern without literals	function formatPattern(dateObject, bundle, fullYear, pattern){		return pattern.replace(/([a-z])\1*/ig, function(match){			var s, pad;			var c = match.charAt(0);			var l = match.length;			var widthList = ["abbr", "wide", "narrow"];			switch(c){				case 'G':					s = bundle[(l < 4) ? "eraAbbr" : "eraNames"][dateObject.getFullYear() < 0 ? 0 : 1];					break;				case 'y':					s = dateObject.getFullYear();					switch(l){						case 1:							break;						case 2:							if(!fullYear){								s = String(s); s = s.substr(s.length - 2);								break;							}							// fallthrough						default:							pad = true;					}					break;				case 'Q':				case 'q':					s = Math.ceil((dateObject.getMonth()+1)/3);//					switch(l){//						case 1: case 2:							pad = true;//							break;//						case 3: case 4: // unimplemented//					}					break;				case 'M':				case 'L':					var m = dateObject.getMonth();					var widthM;					switch(l){						case 1: case 2:							s = m+1; pad = true;							break;						case 3: case 4: case 5:							widthM = widthList[l-3];							break;					}					if(widthM){						var typeM = (c == "L") ? "standalone" : "format";						var propM = ["months", typeM, widthM].join("-");						s = bundle[propM][m];					}					break;				case 'w':					var firstDay = 0;					s = dojo.date.locale._getWeekOfYear(dateObject, firstDay); pad = true;					break;				case 'd':					s = dateObject.getDate(); pad = true;					break;				case 'D':					s = dojo.date.locale._getDayOfYear(dateObject); pad = true;					break;				case 'E':				case 'e':				case 'c': // REVIEW: don't see this in the spec?					var d = dateObject.getDay();					var widthD;					switch(l){						case 1: case 2:							if(c == 'e'){								var first = dojo.cldr.supplemental.getFirstDayOfWeek(options.locale);								d = (d-first+7)%7;							}							if(c != 'c'){								s = d+1; pad = true;								break;							}							// else fallthrough...						case 3: case 4: case 5:							widthD = widthList[l-3];							break;					}					if(widthD){						var typeD = (c == "c") ? "standalone" : "format";						var propD = ["days", typeD, widthD].join("-");						s = bundle[propD][d];					}					break;				case 'a':					var timePeriod = (dateObject.getHours() < 12) ? 'am' : 'pm';					s = bundle[timePeriod];					break;				case 'h':				case 'H':				case 'K':				case 'k':					var h = dateObject.getHours();					// strange choices in the date format make it impossible to write this succinctly					switch (c){						case 'h': // 1-12							s = (h % 12) || 12;							break;						case 'H': // 0-23							s = h;							break;						case 'K': // 0-11							s = (h % 12);							break;						case 'k': // 1-24							s = h || 24;							break;					}					pad = true;					break;				case 'm':					s = dateObject.getMinutes(); pad = true;					break;				case 's':					s = dateObject.getSeconds(); pad = true;					break;				case 'S':					s = Math.round(dateObject.getMilliseconds() * Math.pow(10, l-3)); pad = true;					break;				case 'v': // FIXME: don't know what this is. seems to be same as z?				case 'z':					// We only have one timezone to offer; the one from the browser					s = dojo.date.getTimezoneName(dateObject);					if(s){break;}					l=4;					// fallthrough... use GMT if tz not available				case 'Z':					var offset = dateObject.getTimezoneOffset();					var tz = [						(offset<=0 ? "+" : "-"),						dojo.string.pad(Math.floor(Math.abs(offset)/60), 2),						dojo.string.pad(Math.abs(offset)% 60, 2)					];					if(l==4){						tz.splice(0, 0, "GMT");						tz.splice(3, 0, ":");					}					s = tz.join("");					break;//				case 'Y': case 'u': case 'W': case 'F': case 'g': case 'A'://					console.debug(match+" modifier unimplemented");				default:					throw new Error("dojo.date.locale.format: invalid pattern char: "+pattern);			}			if(pad){ s = dojo.string.pad(s, l); }			return s;		});	}/*=====	dojo.date.locale.__FormatOptions = function(){	//	selector: String	//		choice of 'time','date' (default: date and time)	//	formatLength: String	//		choice of long, short, medium or full (plus any custom additions).  Defaults to 'short'	//	datePattern:String	//		override pattern with this string	//	timePattern:String	//		override pattern with this string	//	am: String	//		override strings for am in times	//	pm: String	//		override strings for pm in times	//	locale: String	//		override the locale used to determine formatting rules	//	fullYear: Boolean	//		(format only) use 4 digit years whenever 2 digit years are called for	//	strict: Boolean	//		(parse only) strict parsing, off by default		this.selector = selector;		this.formatLength = formatLength;		this.datePattern = datePattern;		this.timePattern = timePattern;		this.am = am;		this.pm = pm;		this.locale = locale;		this.fullYear = fullYear;		this.strict = strict;	}=====*/dojo.date.locale.format = function(/*Date*/dateObject, /*dojo.date.locale.__FormatOptions?*/options){	// summary:	//		Format a Date object as a String, using locale-specific settings.	//	// description:	//		Create a string from a Date object using a known localized pattern.	//		By default, this method formats both date and time from dateObject.	//		Formatting patterns are chosen appropriate to the locale.  Different	//		formatting lengths may be chosen, with "full" used by default.	//		Custom patterns may be used or registered with translations using	//		the dojo.date.locale.addCustomFormats method.	//		Formatting patterns are implemented using [the syntax described at	//		unicode.org](http://www.unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns)	//	// dateObject:	//		the date and/or time to be formatted.  If a time only is formatted,	//		the values in the year, month, and day fields are irrelevant.  The	//		opposite is true when formatting only dates.	options = options || {};	var locale = dojo.i18n.normalizeLocale(options.locale);	var formatLength = options.formatLength || 'short';	var bundle = dojo.date.locale._getGregorianBundle(locale);	var str = [];	var sauce = dojo.hitch(this, formatPattern, dateObject, bundle, options.fullYear);	if(options.selector == "year"){		// Special case as this is not yet driven by CLDR data		var year = dateObject.getFullYear();		if(locale.match(/^zh|^ja/)){			year += "\u5E74";		}		return year;	}	if(options.selector != "time"){		var datePattern = options.datePattern || bundle["dateFormat-"+formatLength];		if(datePattern){str.push(_processPattern(datePattern, sauce));}	}	if(options.selector != "date"){		var timePattern = options.timePattern || bundle["timeFormat-"+formatLength];		if(timePattern){str.push(_processPattern(timePattern, sauce));}	}	var result = str.join(" "); //TODO: use locale-specific pattern to assemble date + time	return result; // String};dojo.date.locale.regexp = function(/*dojo.date.locale.__FormatOptions?*/options){	// summary:	//		Builds the regular needed to parse a localized date	return dojo.date.locale._parseInfo(options).regexp; // String};dojo.date.locale._parseInfo = function(/*dojo.date.locale.__FormatOptions?*/options){	options = options || {};	var locale = dojo.i18n.normalizeLocale(options.locale);	var bundle = dojo.date.locale._getGregorianBundle(locale);	var formatLength = options.formatLength || 'short';	var datePattern = options.datePattern || bundle["dateFormat-" + formatLength];	var timePattern = options.timePattern || bundle["timeFormat-" + formatLength];	var pattern;	if(options.selector == 'date'){		pattern = datePattern;	}else if(options.selector == 'time'){		pattern = timePattern;	}else{		pattern = datePattern + ' ' + timePattern; //TODO: use locale-specific pattern to assemble date + time	}	var tokens = [];	var re = _processPattern(pattern, dojo.hitch(this, _buildDateTimeRE, tokens, bundle, options));	return {regexp: re, tokens: tokens, bundle: bundle};};dojo.date.locale.parse = function(/*String*/value, /*dojo.date.locale.__FormatOptions?*/options){	// summary:	//		Convert a properly formatted string to a primitive Date object,	//		using locale-specific settings.	//	// description:	//		Create a Date object from a string using a known localized pattern.	//		By default, this method parses looking for both date and time in the string.	//		Formatting patterns are chosen appropriate to the locale.  Different	//		formatting lengths may be chosen, with "full" used by default.	//		Custom patterns may be used or registered with translations using	//		the dojo.date.locale.addCustomFormats method.	//		//		Formatting patterns are implemented using [the syntax described at	//		unicode.org](http://www.unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns)	//		When two digit years are used, a century is chosen according to a sliding 	//		window of 80 years before and 20 years after present year, for both `yy` and `yyyy` patterns.	//		year < 100CE requires strict mode.	//	// value:	//		A string representation of a date	var info = dojo.date.locale._parseInfo(options);	var tokens = info.tokens, bundle = info.bundle;	var re = new RegExp("^" + info.regexp + "$");	var match = re.exec(value);	if(!match){ return null; } // null	var widthList = ['abbr', 'wide', 'narrow'];	var result = [1970,0,1,0,0,0,0]; // will get converted to a Date at the end	var amPm = "";	var valid = dojo.every(match, function(v, i){		if(!i){return true;}		var token=tokens[i-1];		var l=token.length;		switch(token.charAt(0)){			case 'y':				if(l != 2 && options.strict){					//interpret year literally, so '5' would be 5 A.D.					result[0] = v;				}else{					if(v<100){						v = Number(v);						//choose century to apply, according to a sliding window						//of 80 years before and 20 years after present year						var year = '' + new Date().getFullYear();						var century = year.substring(0, 2) * 100;						var cutoff = Math.min(Number(year.substring(2, 4)) + 20, 99);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -