Comment connaitre le jour de la date.
JJV5-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
ldci5-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 +
jjv5-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!
deglingo5-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
JJV6-Jan-2009/1:16:29+1:00
Merci Deglingo

Concis et élégant.
merci pour la lib form-date

JJV
none6-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é !
JJV8-Jan-2009/1:54:23+1:00
merci de la précision.
oui il est excellent...

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2