############################################################### ENV.defaults["stage"] = 1 ENV.defaults["ruleType"] = "tokens" # map month names to numbers MONTH_MAP = { "enero": 1, "febrero": 2, "marzo": 3, "abril": 4, "mayo": 5, "junio": 6, "julio": 7, "agosto": 8, "septiembre": 9, "octubre": 10, "noviembre": 11, "diciembre": 12 } # dates $MONTH_NAME = "/enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre/"; # full date { (/el/? (/[0-9]{1,2}/) /de/ ($MONTH_NAME) /de/ (/[0-9]{4}/)) => IsoDate($3[0].numcompvalue, MONTH_MAP[$2[0].word], $1[0].numcompvalue) } # day and month { (/el/? (/[0-9]{1,2}/) /de/ ($MONTH_NAME)) => IsoDate(NIL, MONTH_MAP[$2[0].word], $1[0].numcompvalue) } # month and year { (($MONTH_NAME) /de/ (/[0-9]{4}/)) => IsoDate($2[0].numcompvalue, MONTH_MAP[$1[0].numcompvalue], NIL) } # month alone { (/enero/) => JANUARY } { (/febrero/) => FEBRUARY } { (/marzo/) => MARCH } { (/abril/) => APRIL } { (/mayo/) => MAY } { (/junio/) => JUNE } { (/julio/) => JULY } { (/agosto/) => AUGUST } { (/septiembre/) => SEPTEMBER } { (/octubre/) => OCTOBER } { (/noviembre/) => NOVEMBER } { (/diciembre/) => DECEMBER } # relative times { (/ayer/) => YESTERDAY } { (/hoy/) => TODAY } { (/mañana/) => TOMORROW } { (/esta/ /noche/) => TONIGHT } # days of the week { (/el|este|hoy/? /lunes/) => MONDAY } { (/el|este|hoy/? /martes/) => TUESDAY } { (/el|este|hoy/? /miércoles/) => WEDNESDAY } { (/el|este|hoy/? /jueves/) => THURSDAY } { (/el|este|hoy/? /viernes/) => FRIDAY } { (/el|este|hoy/? /sábado/) => SATURDAY } { (/el|este|hoy/? /domingo/) => SUNDAY } ############################################################### ENV.defaults["ruleType"] = "tokens" ENV.defaults["priority"] = 0 ENV.defaults["locale"] = "en" { ruleType: "time", pattern: /yyyy-?MM-?dd-?'T'HH(:?mm(:?ss([.,]S{1,3})?)?)?(Z)?/ } { ruleType: "time", pattern: /yyyy-MM-dd/ } { ruleType: "time", pattern: /dd?\\?\/MM?\\?\/(yyyy|yy)/ }