[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / cout_dates.js.html
diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/cout_dates.js.html b/www/plugins/auto/couteau_suisse/couteau_suisse/cout_dates.js.html
new file mode 100644 (file)
index 0000000..0e261e0
--- /dev/null
@@ -0,0 +1,213 @@
+#HTTP_HEADER{'Content-Type: text/javascript'}\r
+#CACHE{7*24*3600,cache-client}\r
+\r
+var cs_DateServeur = '[(#CHEMIN{outils/horloge_fonctions.php}|parametre_url{cs_dateserveur,oui})]';\r
+\r
+//\r
+// dateFormat v0.1 | 2004-04-03 15:10 | JavaScript : Formattage de Dates\r
+// http://www.asp-php.net/scripts/scripting/dateformat.php\r
+//\r
+// a : Ante meridiem et Post meridiem en minuscules - am ou pm \r
+// A : Ante meridiem et Post meridiem en majuscules - AM ou PM \r
+// B : Heure Internet Swatch - 000 a 999\r
+//     http://www.quirksmode.org/index.html?/js/beat.html\r
+// d : Jour du mois, sur deux chiffres avec zero initial - 01 a 31 \r
+// D : Jour de la semaine, en 3 lettres, anglais par defaut - Mon a Sun \r
+// F : Mois textuel, version longue, anglais par defaut - January a December \r
+// g : Heure au format 12h, sans le zero initial - 1 a 12 \r
+// G : Heure au format 24h, sans le zero initial - 0 a 23 \r
+// h : Heure au format 12h, avec le zero initial - 01 a 12 \r
+// H : Heure au format 24h, avec le zero initial - 00 a 23 \r
+// i : Minutes avec le zero initial - 00 a 59 \r
+// j : Jour du mois sans le zero initial - 1 a 31 \r
+// l : Jour de la semaine, textuel, anglais par defaut - Sunday a Saturday \r
+// L : L'annee est elle bissextile ? - 0 ou 1 \r
+// m : Mois avec le zero intial - 01 a 12 \r
+// M : Mois, en 3 lettres, anglais par defaut - Jan a Dec \r
+// n : Mois sans le zero intial - 1 a 12 \r
+// O : Difference avec l'heure de Greenwich (GMT), en heures - -1200 a +1200 \r
+// r : Format de date RFC 822 Thu, 1 Apr 2004 12:00:00 - +0200 \r
+// s : Secondes avec le zero initial - 00 a 59 \r
+// S : Suffixe ordinal d'un jour, anglais par defaut - st, nd, rd, th \r
+// t : Nombre de jours dans le mois - 28 a 31 \r
+// U : Secondes depuis le 1er Janvier 1970, 0h00 00s GMT - Ex: 1081072800 \r
+// w : Jour de la semaine (0 etant dimanche, 6 samedi) - 0 a 6 \r
+// W : Numero de la semaine dans l'annee - 1 a 52\r
+//     http://www.asp-php.net/tutorial/asp-php/glossaire.php?glossid=28\r
+// y : Annee sur 2 chiffres - Ex: 04 \r
+// Y : Annee sur 4 chiffres - Ex: 2004 \r
+// z : Jour de l'annee - 1 a 366 \r
+// Z : Decalage horaire en secondes - -43200 a 43200 \r
+// \ : Caractere d'echappement - Ex: \a, \A, \m\r
+\r
+String.prototype.padLeft = function(strChar, intLength){\r
+ var str = this + '';\r
+ while (str.length != intLength) str = strChar + str;\r
+ return str;\r
+}\r
+\r
+String.prototype.isInt = function() {\r
+ var oRegExp = new RegExp(/\d+/);\r
+ return oRegExp.test(this);\r
+}\r
+\r
+Array.prototype.exists = function(objValue) {\r
+ var boolReturn = false, i = 0;\r
+ for (i = 0; i < this.length; i++)\r
+  if (this[i] == objValue) { boolReturn = true; break; }\r
+ return boolReturn;\r
+}\r
+\r
+Date.prototype.dateFormat = function(strFormat, strLang, intTime) {\r
+\r
+ var arrayLang = ['#ENV{lang}']; // ['en', 'fr'];\r
+ var arrayFunctions = ['a','A','B','d','D','F','g','G','h','H','i','j','l','L','m','M','n','O','r','s','S','t','U','w','W','y','Y','z','Z'];\r
+\r
+ if (intTime) {\r
+  if (!intTime.toString().isInt()) intTime = null; else intTime *= 1000;\r
+ }\r
+ if (strLang) {\r
+  if (strLang.toString().isInt()) {\r
+   intTime = strLang * 1000;\r
+   strLang = '#ENV{lang}';//'en';\r
+  } else {\r
+   if (!arrayLang.exists(strLang)) strLang = '#ENV{lang}';//'en';\r
+  }\r
+ } else {\r
+  strLang = '#ENV{lang}';//'en';\r
+ }\r
+\r
+var cs_lang = '#ENV{lang}';\r
+var arrayMonths_#ENV{lang} = ['<:date_mois_1|cs_javascript:>', '<:date_mois_2|cs_javascript:>', '<:date_mois_3|cs_javascript:>', '<:date_mois_4|cs_javascript:>', '<:date_mois_5|cs_javascript:>', '<:date_mois_6|cs_javascript:>', '<:date_mois_7|cs_javascript:>', '<:date_mois_8|cs_javascript:>', '<:date_mois_9|cs_javascript:>', '<:date_mois_10|cs_javascript:>', '<:date_mois_11|cs_javascript:>', '<:date_mois_12|cs_javascript:>'];\r
+var arrayDays_#ENV{lang} = ['<:date_jour_1|cs_javascript:>', '<:date_jour_2|cs_javascript:>', '<:date_jour_3|cs_javascript:>', '<:date_jour_4|cs_javascript:>', '<:date_jour_5|cs_javascript:>', '<:date_jour_6|cs_javascript:>', '<:date_jour_7|cs_javascript:>'];\r
+var arraySuffix_#ENV{lang} = ['?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?'];\r
+\r
+// var arrayDays_en = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r
+// var arrayMonths_en = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r
+ var arraySuffix_en = ['st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'st'];\r
+\r
+// var arrayDays_fr = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'];\r
+// var arrayMonths_fr = ['Janvier', 'F\u00e9vrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Ao\u00fbt', 'Septembre', 'Octobre', 'Novembre', 'D\u00e9cembre'];\r
+ var arraySuffix_fr = ['er', 'nd', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me', '\u00e8me'];\r
+\r
+ // a : Ante meridiem et Post meridiem en minuscules - am ou pm \r
+ fct_a = function() { return (self.getHours() > 11)?'pm':'am'; }\r
+ // A : Ante meridiem et Post meridiem en majuscules - AM ou PM \r
+ fct_A = function() { return (self.getHours() > 11)?'PM':'AM'; }\r
+ // B : Heure Internet Swatch - 000 a 999\r
+ //     http://www.quirksmode.org/index.html?/js/beat.html\r
+ fct_B = function() {\r
+  var intGMTOffset = (self.getTimezoneOffset() + 60) * 60;\r
+  var intSeconds = (self.getHours() * 3600) + (self.getMinutes() * 60) + self.getSeconds() + intGMTOffset;\r
+  var intBeat = Math.floor(intSeconds / 86.4);\r
+  if (intBeat > 1000) intBeat -= 1000;\r
+  if (intBeat < 0) intBeat += 1000;\r
+  return intBeat.toString().padLeft('0', 3);\r
+ }\r
+ // d : Jour du mois, sur deux chiffres avec zero initial - 01 a 31 \r
+ fct_d = function() { return self.getDate().toString().padLeft('0', 2); }\r
+ // D : Jour de la semaine, en 3 lettres, anglais par defaut - Mon a Sun \r
+ fct_D = function() { return eval('arrayDays_' + strLang)[self.getDay()].substring(0, 3); }\r
+ // F : Mois textuel, version longue, anglais par defaut - January a December \r
+ fct_F = function() { return eval('arrayMonths_' + strLang)[self.getMonth()]; }\r
+ // g : Heure au format 12h, sans le zero initial - 1 a 12 \r
+ fct_g = function() { return (self.getHours() > 12) ? self.getHours() - 12 : self.getHours(); }\r
+ // G : Heure au format 24h, sans le zero initial - 0 a 23 \r
+ fct_G = function() { return self.getHours(); }\r
+ // h : Heure au format 12h, avec le zero initial - 01 a 12 \r
+ fct_h = function() {\r
+  return (self.getHours() > 12) ? (self.getHours() - 12).toString().padLeft('0', 2) : self.getHours().toString().padLeft('0', 2);\r
+ }\r
+ // H : Heure au format 24h, avec le zero initial - 00 a 23 \r
+ fct_H = function() { return self.getHours().toString().padLeft('0', 2); }\r
+ // i : Minutes avec le zero initial - 00 a 59 \r
+ fct_i = function() { return self.getMinutes().toString().padLeft('0', 2); }\r
+ // j : Jour du mois sans le zero initial - 1 a 31 \r
+ fct_j = function() { return self.getDate(); }\r
+ // l : Jour de la semaine, textuel, anglais par defaut - Sunday a Saturday \r
+ fct_l = function() { return eval('arrayDays_' + strLang)[self.getDay()]; }\r
+ // L : L'annee est elle bissextile ? - 0 ou 1 \r
+ fct_L = function() {\r
+  var intFullYear = fct_Y();\r
+  return ((intFullYear % 4 == 0 && intFullYear % 100 != 0) || (intFullYear % 4 == 0 && intFullYear % 100 == 0 && intFullYear % 400 == 0)) ? 1 : 0;\r
+ }\r
+ // m : Mois avec le zero intial - 01 a 12 \r
+ fct_m = function() { return (self.getMonth() + 1).toString().padLeft('0', 2); }\r
+ // M : Mois, en 3 lettres, anglais par defaut - Jan a Dec \r
+ fct_M = function() { return eval('arrayMonths_' + strLang)[self.getMonth()].substring(0, 3); }\r
+ // n : Mois sans le zero intial - 1 a 12 \r
+ fct_n = function() { return (self.getMonth() + 1); }\r
+ // O : Difference avec l'heure de Greenwich (GMT), en heures - -1200 a +1200 \r
+ fct_O = function() {\r
+  var intTimezone = self.getTimezoneOffset();\r
+  var intTimezoneAbs = Math.abs(intTimezone);\r
+  var strTimezone = Math.floor(intTimezoneAbs / 60).toString().padLeft('0', 2) + (intTimezoneAbs % 60).toString().padLeft('0', 2);\r
+  return (intTimezone < 0) ? '+' + strTimezone : '-' + strTimezone ;\r
+ }\r
+ // r : Format de date RFC 822 Thu, 1 Apr 2004 12:00:00 - +0200 \r
+ fct_r = function() {\r
+  return fct_D() + ', ' + fct_j() + ' ' + fct_M() + ' ' + fct_Y() + ' ' + fct_H() + ':' + fct_i() + ':' + fct_s() + ' ' + fct_O();\r
+ }\r
+ // s : Secondes avec le zero initial - 00 a 59 \r
+ fct_s = function() { return (self.getSeconds()).toString().padLeft('0', 2); }\r
+ // S : Suffixe ordinal d'un jour, anglais par defaut - st, nd, rd, th \r
+ fct_S = function() { return eval('arraySuffix_' + strLang)[self.getDate() - 1]; }\r
+ // t : Nombre de jours dans le mois - 28 a 31 \r
+ fct_t = function() {\r
+  var intDays = 0;\r
+  if (self.getMonth() == 1) {\r
+   intDays = 28 + fct_L();\r
+  } else {\r
+   switch (self.getMonth() % 2) {\r
+    case 0 : intDays = 31; break;\r
+    default : intDays = 30;\r
+   }\r
+  }\r
+  return intDays;\r
+ }\r
+ // U : Secondes depuis le 1er Janvier 1970, 0h00 00s GMT - Ex: 1081072800 \r
+ fct_U = function() { return Math.round(self.getTime() / 1000); }\r
+ // w : Jour de la semaine (0 etant dimanche, 6 samedi) - 0 a 6 \r
+ fct_w = function() { return self.getDay(); }\r
+ // W : Numero de la semaine dans l'annee - 1 a 52\r
+ //     http://www.asp-php.net/tutorial/asp-php/glossaire.php?glossid=28\r
+ fct_W = function() { return Math.floor((fct_z() - 1 - self.getDay()) / 7) + 2; }\r
+ // y : Annee sur 2 chiffres - Ex: 04 \r
+ fct_y = function() {\r
+  var strFullYear = fct_Y().toString();\r
+  return strFullYear.substring(strFullYear.length - 2, strFullYear.length);\r
+ }\r
+ // Y : Annee sur 4 chiffres - Ex: 2004 \r
+ fct_Y = function() { return self.getFullYear(); }\r
+ // z : Jour de l'annee - 1 a 366 \r
+ fct_z = function() {\r
+  var datePremierJanvier = new Date('January 1 ' + fct_Y().toString() + ' 00:00:00');\r
+  var intDifference = self.getTime() - datePremierJanvier.getTime();\r
+  return Math.floor(intDifference / 1000 / 60 / 60 / 24);\r
+ }\r
+ // Z : Decalage horaire en secondes - -43200 a 43200 \r
+ fct_Z = function() {\r
+  var intTimezone = self.getTimezoneOffset();\r
+  var strTimezone = Math.abs(intTimezone) * 60;\r
+  return (intTimezone < 0) ? strTimezone : -strTimezone ;\r
+ }\r
+\r
+ var self = this;\r
+ if (intTime) {\r
+  var intMyTime = self.getTime();\r
+  self.setTime(intTime);\r
+ }\r
+ var arrayFormat = strFormat.split(''), i = 0;\r
+ for (i = 0; i < arrayFormat.length; i++) {\r
+  if (arrayFormat[i] == '\\') {\r
+   arrayFormat.splice(i, 1);\r
+  } else {\r
+   if (arrayFunctions.exists(arrayFormat[i])) {\r
+    arrayFormat[i] = eval('fct_' + arrayFormat[i] + '();');\r
+   }\r
+  }\r
+ }\r
+ if (intMyTime) self.setTime(intMyTime);\r
+ return arrayFormat.join('');\r
+\r
+} // Date.prototype.dateFormat\r