downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

JDToGregorian> <JDMonthName
Last updated: Fri, 20 May 2011

view this page in

JDToFrench

(PHP 4, PHP 5)

JDToFrenchConvierte una Fecha Juliana al Calendario Republicano Francés

Descripción

string jdtofrench ( int $juliandaycount )

Convierte una Fecha Juliana al Calendario Republicano Francés.

Parámetros

julianday

Una número de día juliano como un entero

Valores devueltos

La fecha de la Revolución Francesa como una cadena de la forma "mes/día/año"

Ver también

  • frenchtojd() - Convierte una fecha desde el Calendario Republicano Francés a la Fecha Juliana
  • cal_from_jd() - Convierte de una Fecha Juliana a un calendario soportado



JDToGregorian> <JDMonthName
Last updated: Fri, 20 May 2011
 
add a note add a note User Contributed Notes JDToFrench
pieterc dot depraetere at ugent dot be 10-Mar-2010 10:04
If you want to convert a date later than September 22nd 1806, you could use this function. It's a bit crude and due to the fact the original function terminates in the middle of 1806, it uses 1805 as it's 'terminus post quem'.
<?php
function extended_jdtofrench ($juliandate) {
    if (
$juliandate > 2380945) {
       
// jdtofrench () only accepts dates until september 1806
       
$gregorian_date = jdtogregorian ($juliandate);
       
$temp = explode ('/', $gregorian_date);
       
$year = $temp[2];
       
$juliandate = gregoriantojd ($temp[0], $temp[1], 1805);
       
$republican_date = jdtofrench ($juliandate);
       
$republican_date = explode ('/', $republican_date);
       
$diff = $year - 1805;
       
$republican_date[2] = $republican_date[2] + $diff;
    } else {
       
$republican_date = jdtofrench ($juliandate);
    }
    return
$republican_date;
}
?>
squenz at titania dot bottoms-dream dot de 06-Apr-2006 03:25
Here is a small piece of code to obtain the string data for a correctly converted gregorian date:

<?php
$arDateFrench
= gregorian2FrenchDateArray(11, 9, 1799) ;

echo
$arDateFrench[1] . " " . $arDateFrench[0] . " " . $arDateFrench[2] ;

/* the output will be:
    18 Brumaire VIII

*/

function gregorian2FrenchDateArray($m, $d, $y)
{

   
$julian_date = gregoriantojd($m, $d, $y);
   
$french = jdtofrench($julian_date);
    if(
$french == "0/0/0")
        return
"" ;

   
$arD = split("/", $french) ;
   
   
// get the month name
   
$monthname = FrenchMonthNames($arD[0]) ;
   
   
/* convert the year number to roman digits (as most historians do and documents of the time did */
   
$stryear = decrom($arD[2]) ;
    return array(
$monthname, $arD[1], $stryear ) ;
}

function
FrenchMonthNames($mo)
{
   
/* The names have been invented by Fabre d'Églantine, a second or rather third rank poet
of primarily pastoral poems, with each name referring to the respective period in the agricultural year; e.g. "Vendémiaire" (approx. September) is derived from "vendange" ("harvest"), "Brumaire" (Ocotober/November) from "brume" ("fog") and so on ...     */
   
   
   
$arMo = array("Vendémiaire",
                     
"Brumaire",
                     
"Frimaire",
                     
"Nivôse",
                     
"Pluviôse",
                     
"Ventôse",
                     
"Germinal",
                     
"Floréal",
                     
"Prairial",
                     
"Messidor",
                     
"Thermidor",
                     
"Fructidor",
                     
"Sansculottide") ;

    if(
$mo < count($arMo)+1)
        return
$arMo[$mo-1] ;
   
}

function
decrom($dec){
      
$digits=array(
          
1 => "I",
          
4 => "IV",
          
5 => "V",
          
9 => "IX",
          
10 => "X",
          
40 => "XL",
          
50 => "L",
          
90 => "XC",
          
100 => "C",
          
400 => "CD",
          
500 => "D",
          
900 => "CM",
          
1000 => "M"
      
);
      
krsort($digits);
      
$retval="";
       foreach(
$digits as $key => $value){
           while(
$dec>=$key){
              
$dec-=$key;
              
$retval.=$value;
           }
       }
       return
$retval;
}
?>
serged at noos dot fr 28-Oct-2003 05:00
Very limited function:

(extract from source of 4.3.3)
These routines only convert dates in years 1 through 14 (Gregorian dates 22 September 1792 through 22 September 1806).  This more than  covers the period when the calendar was in use.
 
Pour les français :
Ces routines ne converitssent les dates que de l'an 1 à 14 (du 22 septembre 1792 au 22 septembre 1806). Cela couvre plus que la période pendant laquelle le calendrier à été utilisé.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites