Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Long Date in French
Message
From
15/05/2008 17:25:26
 
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP
Miscellaneous
Thread ID:
01317471
Message ID:
01317477
Views:
9
>Is there anyway to get the long date to display in French - e.g. Thursday, May 15, 2008 but in French?

Yes, I have a function for that:
FUNCTION WRITDATE
* expD1 Date
* expN1 Number of days (default 1)
* expN1 Pass 1 to trim the article (use only for french)
PARAMETER tdDate,tnDays,tnTrim
PRIVATE lcDate
lcDate=''
tnDays=IIF(TYPE('tnDays')='N',tnDays,1)
tcLangue=IIF(TYPE('tcLangue')='C',tcLangue,'F')
IF TYPE('oApp')='O'
   DO IIF(oApp.Langue=1,'WRITFREN','WRITENGL')
   ELSE
   DO WRITENGL
ENDIF
RETURN IIF(TYPE('tnTrim')<>'N',lcDate,SUBSTR(lcDate,4))

FUNCTION WRITFREN
LOCAL lcAnnee
lcAnnee=ALLTRIM(STR(YEAR(tdDate)))
IF tnDays=1
   lcDate="le "+JOUR(tdDate)+MOIS(tdDate)+lcAnnee
ENDIF
IF tnDays=2
   IF MONTH(tdDate)=MONTH(tdDate+1)
      lcDate="les "+JOUR(tdDate)+" et "+JOUR(tdDate+1)+MOIS(tdDate)+lcAnnee
      ELSE
      lcDate="les "+JOUR(tdDate)+MOIS(tdDate)+"et "+JOUR(tdDate+1)+MOIS(tdDate+1)+lcAnnee
   ENDIF
ENDIF
IF tnDays=3
   IF MONTH(tdDate)=MONTH(tdDate+2)
      lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+" et "+JOUR(tdDate+2)+MOIS(tdDate)+lcAnnee
      ELSE
      IF MONTH(tdDate)=MONTH(tdDate+1)
         lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+MOIS(tdDate)+;
         "et "+JOUR(tdDate+2)+MOIS(tdDate+2)+lcAnnee
         ELSE
         lcDate="les "+JOUR(tdDate)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+1)+;
         " et "+JOUR(tdDate+2)+MOIS(tdDate+1)+lcAnnee
      ENDIF
   ENDIF
ENDIF
IF tnDays=4
   IF MONTH(tdDate)=MONTH(tdDate+3)
      lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
      " et "+JOUR(tdDate+3)+MOIS(tdDate)+lcAnnee
      ELSE
      IF MONTH(tdDate)=MONTH(tdDate+2)
         lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+" et "+JOUR(tdDate+2)+;
         MOIS(tdDate)+"et "+JOUR(tdDate+3)+MOIS(tdDate+3)+lcAnnee
         ELSE
         IF MONTH(tdDate)=MONTH(tdDate+1)
            lcDate="les "+JOUR(tdDate)+" et "+JOUR(tdDate+1)+TRIM(MOIS(tdDate))+;
            ", "+JOUR(tdDate+2)+" et " +JOUR(tdDate+3)+MOIS(tdDate+3)+lcAnnee
            ELSE
            lcDate="les "+JOUR(tdDate)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+1)+;
            ", "+JOUR(tdDate+2)+" et " +JOUR(tdDate+3)+MOIS(tdDate+3)+lcAnnee
         ENDIF
      ENDIF
   ENDIF
ENDIF
IF tnDays=5
   IF MONTH(tdDate)=MONTH(tdDate+4)
      lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+", "+;
      JOUR(tdDate+3)+" et "+JOUR(tdDate+4)+MOIS(tdDate)+lcAnnee
      ELSE
      IF MONTH(tdDate)=MONTH(tdDate+3)
         lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
         " et "+JOUR(tdDate+3)+MOIS(tdDate)+"et "+JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
         ELSE
         IF MONTH(tdDate)=MONTH(tdDate+2)
            lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+;
            " et "+JOUR(tdDate+2)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+3)+;
            " et "+JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
            ELSE
            IF MONTH(tdDate)=MONTH(tdDate+1)
               lcDate="les "+JOUR(tdDate)+" et "+JOUR(tdDate+1)+TRIM(MOIS(tdDate))+;
               ", "+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" et " +JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
               ELSE
               lcDate="les "+JOUR(tdDate)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+1)+;
               ", "+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" et " +JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
            ENDIF
         ENDIF
      ENDIF
   ENDIF
ENDIF
IF tnDays>1
   IF MONTH(tdDate)=12 .AND. MONTH(tdDate+tnDays-1)=1
      lcDate=STUFF(lcDate,AT(ALLTRIM(STR(YEAR(tdDate))),lcDate),;
      4,ALLTRIM(STR(YEAR(tdDate+tnDays-1))))
      lcDate=STUFF(lcDate,AT('décembre',lcDate)+9,0,ALLTRIM(STR(YEAR(tdDate)))+' ')
      IF AT('décembre,',lcDate)>0
         lcDate=STUFF(lcDate,AT('décembre,',lcDate)+8,1,' ')
         lcDate=STUFF(lcDate,AT('décembre',lcDate)+13,1,',')
      ENDIF
   ENDIF
ENDIF

FUNCTION WRITENGL
LOCAL lcAnnee
lcAnnee=ALLTRIM(STR(YEAR(tdDate)))
IF tnDays=1
   lcDate=MOIS2(tdDate)+JOUR(tdDate)+', '+lcAnnee
ENDIF
IF tnDays=2
   IF MONTH(tdDate)=MONTH(tdDate+1)
      lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+', '+lcAnnee
      ELSE
      lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+MOIS2(tdDate+1)+JOUR(tdDate+1)+', '+lcAnnee
   ENDIF
ENDIF
IF tnDays=3
   IF MONTH(tdDate)=MONTH(tdDate+2)
      lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+" and "+JOUR(tdDate+2)+', '+lcAnnee
      ELSE
      IF MONTH(tdDate)=MONTH(tdDate+1)
         lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+;
         " and "+MOIS2(tdDate+2)+JOUR(tdDate+2)+', '+lcAnnee
         ELSE
         lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+MOIS2(tdDate+1)+JOUR(tdDate+1)+;
         " and "+JOUR(tdDate+2)+', '+lcAnnee
      ENDIF
   ENDIF
ENDIF
IF tnDays=4
   IF MONTH(tdDate)=MONTH(tdDate+3)
      lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
      " and "+JOUR(tdDate+3)+', '+lcAnnee
      ELSE
      IF MONTH(tdDate)=MONTH(tdDate+2)
         lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+" and "+;
         JOUR(tdDate+2)+" and "+MOIS2(tdDate+3)+JOUR(tdDate+3)+', '+lcAnnee
         ELSE
         IF MONTH(tdDate)=MONTH(tdDate+1)
            lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+;
            ", "+MOIS2(tdDate+2)+JOUR(tdDate+2)+" and " +JOUR(tdDate+3)+', '+lcAnnee
            ELSE
            lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+MOIS2(tdDate+1)+JOUR(tdDate+1)+;
            ", "+JOUR(tdDate+2)+" and " +JOUR(tdDate+3)+', '+lcAnnee
         ENDIF
      ENDIF
   ENDIF
ENDIF
IF tnDays=5
   IF MONTH(tdDate)=MONTH(tdDate+4)
      lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
      ", "+JOUR(tdDate+3)+" and "+JOUR(tdDate+4)+', '+lcAnnee
      ELSE
      IF MONTH(tdDate)=MONTH(tdDate+3)
         lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
         " and "+JOUR(tdDate+3)+" and "+MOIS2(tdDate+4)+JOUR(tdDate+4)+', '+lcAnnee
         ELSE
         IF MONTH(tdDate)=MONTH(tdDate+2)
            lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+" and "+JOUR(tdDate+2)+;
            ", "+MOIS2(tdDate+3)+JOUR(tdDate+3)+" and " +JOUR(tdDate+4)+', '+lcAnnee
            ELSE
            IF MONTH(tdDate)=MONTH(tdDate+1)
               lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+;
               ", "+MOIS2(tdDate+2)+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" and " +JOUR(tdDate+4)+', '+lcAnnee
               ELSE
               lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+MOIS2(tdDate+1)+JOUR(tdDate+1)+;
               ", "+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" and " +JOUR(tdDate+4)+', '+lcAnnee
            ENDIF
         ENDIF
      ENDIF
   ENDIF
ENDIF
IF tnDays>1
   IF MONTH(tdDate)=12 .AND. MONTH(tdDate+tnDays-1)=1
      lcDate=STUFF(lcDate,AT(ALLTRIM(STR(YEAR(tdDate))),lcDate),;
      4,ALLTRIM(STR(YEAR(tdDate+tnDays-1))))
      IF DAY(tdDate)=31
         IF tnDays=2
            lcDate=STUFF(lcDate,AT('and',lcDate)-1,0,', '+ALLTRIM(STR(YEAR(tdDate))))
            ELSE
            lcDate=STUFF(lcDate,AT(',',lcDate),0,', '+ALLTRIM(STR(YEAR(tdDate))))
         ENDIF
         ELSE
         lcDate=STUFF(lcDate,AT('and',lcDate)+6,0,', '+ALLTRIM(STR(YEAR(tdDate))))
      ENDIF
   ENDIF
ENDIF

FUNCTION JOUR
PARAMETER tdDate
LOCAL lcDay
lcDay=ALLTRIM(STR(DAY(tdDate)))
RETURN lcDay

FUNCTION MOIS
PARAMETER tdDate
LOCAL lcMois
IF MONTH(tdDate)=1
   lcMois=" janvier "
   ELSE
   IF MONTH(tdDate)=2
      lcMois=" février "
      ELSE
      IF MONTH(tdDate)=3
         lcMois=" mars "
         ELSE
         IF MONTH(tdDate)=4
            lcMois=" avril "
            ELSE
            IF MONTH(tdDate)=5
               lcMois=" mai "
               ELSE
               IF MONTH(tdDate)=6
                  lcMois=" juin "
                  ELSE
                  IF MONTH(tdDate)=7
                     lcMois=" juillet "
                     ELSE
                     IF MONTH(tdDate)=8
                        lcMois=" août "
                        ELSE
                        IF MONTH(tdDate)=9
                           lcMois=" septembre "
                           ELSE
                           IF MONTH(tdDate)=10
                              lcMois=" octobre "
                              ELSE
                              IF MONTH(tdDate)=11
                                 lcMois=" novembre "
                                 ELSE
                                 lcMois=" décembre "
                              ENDIF
                           ENDIF
                        ENDIF
                     ENDIF
                  ENDIF
               ENDIF
            ENDIF
         ENDIF
      ENDIF
   ENDIF
ENDIF
RETURN lcMois

FUNCTION MOIS2
PARAMETER tdDate
LOCAL lcMois
IF MONTH(tdDate)=1
   lcMois="January "
   ELSE
   IF MONTH(tdDate)=2
      lcMois="February "
      ELSE
      IF MONTH(tdDate)=3
         lcMois="March "
         ELSE
         IF MONTH(tdDate)=4
            lcMois="April "
            ELSE
            IF MONTH(tdDate)=5
               lcMois="May "
               ELSE
               IF MONTH(tdDate)=6
                  lcMois="June "
                  ELSE
                  IF MONTH(tdDate)=7
                     lcMois="July "
                     ELSE
                     IF MONTH(tdDate)=8
                        lcMois="August "
                        ELSE
                        IF MONTH(tdDate)=9
                           lcMois="September "
                           ELSE
                           IF MONTH(tdDate)=10
                              lcMois="October "
                              ELSE
                              IF MONTH(tdDate)=11
                                 lcMois="November "
                                 ELSE
                                 lcMois="December "
                              ENDIF
                           ENDIF
                        ENDIF
                     ENDIF
                  ENDIF
               ENDIF
            ENDIF
         ENDIF
      ENDIF
   ENDIF
ENDIF
RETURN lcMois
This goes up to 5 days.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform