Comment connaitre le jour de la date. | |
JJV | 5-Jan-2009/13:51:29+1:00 |
et récupérer la valeur (jour -> lundi) data: now/date prin data je souhaiterai avoir le résultat suivant lundi 5-Jan-2009 Merci et ensuite je formaliserai comme je veux en "lundi 5 janvier 2009" avec form et replace | |
ldci | 5-Jan-2009/15:59:44+1:00 |
Par défaut les dates sont en anglais et sont stockées dans system/local probe first system/locale == [self months days] Tu dois donc modifier months et days pour les mettre en français ensuite en utilisant les refinements de now /year -- Returns the year only. /month -- Returns the month only. /day -- Returns the day of the month only. /time -- Returns the time only. /zone -- Returns the time zone offset from GMT only. /date -- Returns date only. /weekday -- Returns day of the week as integer (Monday is day 1). /yearday -- Returns day of the year (Julian) /precise -- Use nanosecond precision tu pourras composer la date comme tu le désire A + | |
jjv | 5-Jan-2009/17:13:48+1:00 |
Merci -> Tu dois donc modifier months et days pour les mettre en français ;Donc dans mon code j'ai inséré [oode] system/locale/months: ["janvier" "Février" "Mars" "Avril" "Mai" "Juin" Juillet "Août" "Septembre" "Octobre" "Novembre" "Décembre"] system/locale/days: ["lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi" dimanche ] [/code] >> jour: now/weekday == 1 ;Aujourd'hui nous sommes lundi, donc 1 normal. >> jour-entier: form jour ; jour type? integer! == "1" ;Donc je transforme en type string! >> le-jour: replace replace replace replace replace replace replace jour-entier "1" lundi "2" "mardi" "3" "mercredi" "4" "jeudi" "5" "vendredi" "6" "samedi" "7" "dimanche" >> prin le-jour lundi>> prin le-jour " " now/date lundi 5-Jan-2009 Merci encore ToDo: Simplifié le code, car beaucoup de "replace" pour du Rebol, je manque d'élégance. Quelqu'un peut m'aider! | |
deglingo | 5-Jan-2009/18:41:29+1:00 |
Après avoir redéfini system/locale/months et system/locale/days, tu peux lancer la commande suivante :print reform [(pick system/locale/days now/weekday) now/date] (sans les parenthèses, ça marche aussi, c'est pour la compréhension) ou bien : jour: now/weekday print reform [system/locale/days/:jour now/date] Sinon, jette un coup d'oeil à la librairie "form-date" sur rebol.org, c'est pas mal du tout : http://www.rebol.org/documentation.r?script=form-date.r | |
JJV | 6-Jan-2009/1:16:29+1:00 |
Merci Deglingo Concis et élégant. merci pour la lib form-date JJV | |
none | 6-Jan-2009/20:25+1:00 |
Pas de problème. En fait, mon code est un peu faux puisque "now/date" ne tient pas compte de la redéfinition de "system/locale/months". On ne s'en aperçoit pas parce que "Janvier" sur 3 caractères donne "Jan" en français et en anglais. En fait, il faudrait écrire : + avec le nom du mois en entier : print rejoin [(pick system/locale/days now/weekday) " " now/day "-" (pick system/locale/months now/month) "-" now/year] + avec le nom du mois sur 3 caractères : print rejoin [(pick system/locale/days now/weekday) " " now/day "-" (copy/part pick system/locale/months now/month 3) "-" now/year] Mais, avec la lib "form-date", tu devrais avoir tout ce que tu veux... C'est ça qui est excellent en Rebol, tu peux faire les choses de tellement de façons...ça exacerbe la créativité ! | |
JJV | 8-Jan-2009/1:54:23+1:00 |
merci de la précision. oui il est excellent... | |
Login required to Post. |