rebcao Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 Bonjour à toutes et à tous, voici 3 variables système DATE format julienne (Modifvar ?) !!! DATE ............... 2453432.37640876 (lecture seule)TDUPDATE...... 2453432.37575574 (lecture seule)TDUUPDATE... 2453432.33408908 (lecture seule) Quelqu'un aurait la formule de conversion en date et heure classique ? Merci de vos réponses Christian [Edité le 2/3/2005 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
didier Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 hello, l'Alsacien,c'est en Heure Locale,j'espère que ça va fonctionner chez Toi ;) (setq aujour (strcat (substr (rtos (getvar "cdate")2 0) 7 2) "/" (substr (rtos (getvar "cdate") 2 0) 5 2) "/" (substr (rtos (getvar "cdate") 2 0) 1 4 ))) (setq aa (rtos(getvar "cdate")2 8))(setq jour (substr (rtos (getvar "cdate")2 0) 7 2))(setq mois (substr (rtos (getvar "cdate") 2 0) 5 2))(setq annee (substr (rtos (getvar "cdate") 2 0) 1 4 ))(setq heure (atoi (substr (rtos (getvar "cdate") 2 8) 10 2)))(setq minute (atoi(substr (rtos (getvar "cdate") 2 8) 12 2 )))(setq seconde (atoi(substr (rtos (getvar "cdate") 2 8) 14 2 ))) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
rebcao Posté(e) le 2 mars 2005 Auteur Posté(e) le 2 mars 2005 Merci beaucoup Didier je met ça de côté, Mais toi ! tu es de quelle région que je puisse aussi t'appeler le B..., N..., B..., L... etc. Par contre as-tu remarqué que l'on était dans le forum LT ! Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
didier Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 Bonjour, à une époque que je vais qualifier de lointaine,j'ai proposé en Téléchargement un dessin de penduledont les aiguilles bougeaient en temps réel,je ne sais pas ce qu'il est devenu, car je ne le vois plus proposé :( si quelqu'un est intéressé, dîtes-le amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
didier Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 hello,excuse moi, mais je ne regarde que très rarement l'intitulé du forum,c'est ce qui explique quelquefois l'incongruité de mes réponses ciaoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Éternel débutant... Mon site perso : Programmer dans AutoCAD
rebcao Posté(e) le 2 mars 2005 Auteur Posté(e) le 2 mars 2005 En DIESEL on peut utiliser cette syntaxe : $m=$(edtime, $(getvar,TDUPDATE),DDD"," DD MON YYYY - H:MMam/pm) mais le DIESEL ne fonctionne pas dans un SCRIPT...!!! :mad: je sais pas quoi faire ? me jetter dans le premier canal que je croise... :P :casstet: ou alors me créer une icône et cliquer à chaque fois, il n'y a que 850 dessins à traiter... :mad: :( :P :casstet: Christian [Edité le 2/3/2005 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Patrick_35 Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 Juste une question bêteEt avec Modemacro pour le script ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
BIM G CO Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 (setq jour (menucmd "M=$(edtime,$(getvar,DATE),DD)") mois (menucmd "M=$(edtime,$(getvar,DATE),MO)") annee (menucmd "M=$(edtime,$(getvar,DATE),YY)") Date (strcat jour "/" mois "/" annee)) trouvé quelque part ..... Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
Invité Patrick Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 Pour ceux qui seraient dans une version pleine, utilisez la commande JULIAN des Express Tools.JULIAN est un programme de conversion de dates entre les dates juliennes et grégoriennes. Un peu d'histoire... :cool: Le nombre renvoyé par l'instruction (getvar "DATE") est le nombre de jours écoulés depuis le 1er janvier 4713 avant notre ère. La partie fractionnaire de ce nombre est la fraction décimale d'un jour julien. Chaque jour de cette période, dite julienne, commence à midi à Greenwich. C'est une façon de compter le temps extrêmement pratique puisqu'elle ne dépend pas des nombreux calendriers (grégoriens, juliens, israélite, lunaire, solaire, musulman...etc). Pourquoi compte-on à partir du 1er janvier 4713 avant JC? Cette date est conventionnelle, elle a été déterminée au XVIem siècle par Joseph Scaliger comme origine d'une grande période de 7980 ans qui est elle même le produit de trois périodes plus petites: * période de 28 ans après laquelle la distribution des jours de la semaine suivant les jours de l'année se répète * période de 19 ans, le cycle de Méton (période de 235 mois lunaires, soit 19 ans, au bout de laquelle la pleine lune réapparaît le même jour de l'année) * période de 15 ans appliquée par le fisc romain Cette période de 7980 ans commencant le 1er janvier 4713 avant JC a été appelée par Joseph Scaliger période julienne, du nom de son père Jules (et pas du tout du nom de l'autre Jules, le grand Jules, Jules César, celui d'Astérix).
didier Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 hello je vais me permettre un complément d'information, D'accord pour l'origine de la datation,en revanche, il ne faut pas perdre de vue que l'adjectif Julien vient de Jules César, qui en l'an 38 avant JC (Jésus Christ, pas Jacques Chirac)a adopté une grande réforme.le tout fût mis à jour en Octobre 1582 par le pape Grégoire XIIIqui a décidé de supprimer les dix jours suivant le 4 octobre 1582pour rectifier une bonne fois pour toutes les erreurs du calendrier antérieuret donc créer le calendier Grégorien ,qu'on utilise encore de nos jours. voilà mon grain de sel ;) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
stephan35 Posté(e) le 20 février 2007 Posté(e) le 20 février 2007 Repiqué chez adolisp : (defun @Macro_julian (JulianDate / a b c d e y z Month Day Year Hours Minutes Seconds CalenderTime NoTime NoDate ReturnValue ) ;; Initialize the return value (setq ReturnValue "") ;; If the input date has no time component ... (if (equal 0.0 (float (- JulianDate (float (fix JulianDate)))) 1E-9 ) ;; It has no time component ... if it has no date ;; component ... (if (zerop (fix JulianDate)) ;; It must be a timestamp of 0:00.00. Set the flag that ;; we don't have a date but leave the "No Time" flag ;; unset (setq NoDate T) ;; It has a date component but has no time component. ;; Shift the date to a real Julian date (setq JulianDate (+ 2415019 (fix JulianDate)) ;; Set a flag so we know we don't have to ;; calculate the time NoTime T ) ) ;; It has a time component. If it has no date component ;; ... (if (zerop (fix JulianDate)) ;; Set a flag so we know we don't want to calculate a ;; date (setq NoDate T) ;; Otherwise, just shift it to be based like a standard ;; Julian date (setq JulianDate (+ 2415019 JulianDate)) ) ) ;; If we want to calculate the date ... (if (not NoDate) ;; It's magic, don't even ask (because I don't know). ;; Some things we weren't meant to know. (setq z (fix JulianDate) a (fix (/ (- z 1867216.25) 36524.25)) a (+ z 1 a (- (fix (/ a 4)))) b (+ a 1524) c (fix (/ (- b 122.1) 365.25)) d (floor (* 365.25 c)) e (fix (/ (- b d) 30.6001)) Day (fix (- b d (floor (* 30.6001 e)))) e (- e (if (< e 14) 2 14 ) ) Month (1+ e) Year (if (> e 1) (- c 4716) (- c 4715) ) Year (if (= Year 0) (1- Year) Year ) ;; This uses US format for the date, you might want ;; to change it. ReturnValue (strcat (itoa Year) (if (< Month 10) (strcat "0" (itoa Month)) (itoa Month) ) "" (if (< Day 10) (strcat "0" (itoa Day)) (itoa Day) ) "" ) ) ) ;; If we want to calculate the time ... (if (not NoTime) ;; First strip the date portion from the input (setq y (- JulianDate (float (fix JulianDate))) ;; Round to the nearest second y (/ (float (fix (+ 0.5 (* y 86400.0)))) 86400.0) ;; Number of hours since midnight Hours (fix (* y 24)) ;; Number of minutes since midnight the hour ;; (1440 minutes per day) Minutes (fix (- (* y 1440.0) (* Hours 60.0))) ;; Number of seconds since the minute (86400 ;; seconds per day) Seconds (fix (- (* y 86400.0) (* Hours 3600.0) (* Minutes 60.0) ) ) CalenderTime (strcat (if (< Hours 10) (strcat "0" (itoa Hours)) (itoa Hours) ) "" (if (< Minutes 10) (strcat "0" (itoa Minutes)) (itoa Minutes) ) "" (if (< Seconds 10) (strcat "0" (itoa Seconds)) (itoa Seconds) ) ) ReturnValue (if (< 0 (strlen ReturnValue)) (strcat ReturnValue "" CalenderTime) CalenderTime ) ) ) ReturnValue ) Je ne sais pas pourquoi, mais ce qu'avait donné didier ne fonctionne pas avec des dates extraites avec (vlax-get objFile 'DateCreated)ce qui donne 38979.6 ... à simplifier ???? :casstet: A suivre ...
geo04 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 Pour mettre les pendules à l'heuresi ça peut te servir(defun C:HORLOGE ()(setq amjh (rtos (getvar "cdate" ) 2 6) ans (substr amjh 1 4) moi (substr amjh 5 2) jou (substr amjh 7 2) heu (substr amjh 10 2) min (substr amjh 12 2) sec (substr amjh 14 2))(setq mois (cond ((eq moi "01") "JANVIER" ) ((eq moi "02") "FEVRIER" ) ((eq moi "03") "MARS" ) ((eq moi "04") "AVRIL" ) ((eq moi "05") "MAI" ) ((eq moi "06") "JUIN" ) ((eq moi "07") "JUILLET" ) ((eq moi "08") "AOUT") ((eq moi "09") "SEPTEMBRE" ) ((eq moi "10") "OCTOBRE" ) ((eq moi "11") "NOVEMBRE" ) ((eq moi "12") "DECEMBRE" ) ))(prompt "\n==========================================================================")(prompt (strcat "\n =======> "jou " " mois " " ans " ====> " heu ":" min ":" sec ))(princ))////////////////////////////////
stephan35 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 Pour mettre les pendules à l'heuresi ça peut te servir Tu a ni plus ni moins faits que de redonner la formule de didier :cool: bien essayer ... Commande: (getvar "cdate" )2.00703e+007 Qui n'est pas du même ordre que (vlax-get objFile 'DateCreated)ce qui donne 38979.6 ... Vois-tu le problème ??? :casstet: :casstet: :casstet: :casstet: :casstet: :casstet: :casstet: Merci quand même !
Patrick_35 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 Je ferai plus simple (menucmd "M=$(edtime,$(getvar,date),DDDD\",\" D MONTH YYYY)") @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
stephan35 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 on tourne en rond ? Je ferai plus simple Tu peux me la refaire avec comme entrée : (defun @Macro_checksum_fichier ( $file / $tmp #filetime #filesize) (if $file (progn (if (vl-file-size $file) (progn (setq objWsh (vlax-create-object "Scripting.FileSystemObject")) (setq objFile (vlax-invoke-method objWsh 'GetFile $file)) (strcat (@Macro_julian (vlax-get objFile 'DateLastModified))"*"(itoa (vlax-get objFile 'Size))) ) (progn (MsgBox "Erreur" 16 (strcat $file " n'existe pas !")) ) ) ) ) ) (@Macro_julian) retourne la date ! :casstet: ????
Patrick_35 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 Et pourquoi ne pas utiliser (vl-file-systime ...) et (vl-file-size ...) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
stephan35 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 Et pourquoi ne pas utiliser (vl-file-systime ...) et (vl-file-size ...) Pour une raison simple, repond nil si le fichier est ouvert !, et dans mon cas je peux avoir besoin d'ouvrir un fichier en lecture seul ou déjà ouvert . MerciA+
Patrick_35 Posté(e) le 6 mars 2007 Posté(e) le 6 mars 2007 En se servant de la fonction FormatDateTime du vba par exemple Type de Date/Heure0 Affiche une date et/ou une heure. En présence d'une partie de date, elle l'affiche sous forme de date abrégée. En présence d'une partie d'heure, elle l'affiche sous forme d'heure complète. Si les deux parties sont présentes, elles sont toutes deux affichées. 1 Affiche une date en utilisant le format de date complet spécifié dans les paramètres régionaux de votre ordinateur. 2 Affiche une date en utilisant le format de date abrégé spécifié dans les paramètres régionaux de l'ordinateur. 3 Affiche une heure en utilisant le format d'heure spécifié dans les paramètres régionaux de l'ordinateur. 4 Affiche une heure au format 24 heures (hh:mm). La routine "magique" ;)(defun dd (td type / users1 val) (vl-load-com) (setq users1 (getvar "users1")) (acad-push-dbmod) (vla-eval (vlax-get-acad-object) (strcat "ThisDrawing.SetVariable \"USERS1\"," "FormatDateTime (\"" td "\", \"" (itoa type) "\")" ) ) (setq value (getvar "users1")) (setvar "users1" users1) (acad-pop-dbmod) val ) Exemple(dd (vl-string-translate "." "," (rtos (vlax-get objFile 'DateLastModified))) 0) @+ ps : j'ai eu un peu de mal à le trouver celui-la, à cause du point à transformer en virgule Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant