PHP 5.6.0 released

px_date2string

(PECL paradox >= 1.4.0)

px_date2string Convertit une date en une chaîne de caractères

Description

string px_date2string ( resource $pxdoc , int $value , string $format )

Convertit une date stockée dans un fichier Paradox en un format humainement lisible. Les dates Paradox représentent le nombre de jours depuis le 1.1.0000. Cette fonction existe que pour une convenance technique. Elle peut être facilement remplacée par des fonctions mathématiques et relatives aux calendriers tel que montré dans l'exemple ci-dessous.

Liste de paramètres

pxdoc

Identifiant de ressource de la base de données Paradox tel que retourné par la fonction px_new().

value

Valeur comme stockée dans le champ de la base de données Paradox d'un type PX_FIELD_DATE.

format

Format similaire au format utilisé par la fonction date(). Les caractères spéciaux supportés par cette fonction est une partie de ceux utilisés par la fonction date() (Y, y, m, n, d, j, L).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Convertit une date Paradox en un format humainement lisible

<?php
$px 
px_new();

/* définition d'une date telle qu'elle peut être stockée dans */
/* un champ date dans une base de données Paradox. */
/* 700000 jours depuis le 1.1.0000. */
$days 700000;

/* Utilisation des fonctions de calendriers pour afficher */
/* la date en un format humainement lisible */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() affiche la même chose */
echo px_date2string($px$days"n/d/Y")."\n";

px_delete($px);
?>

L'exemple ci-dessus va afficher :

7/15/1917
7/15/1917

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
0
john dot navratil at sbcglobal dot net
3 years ago
Date fields are retrieved as the number of days since 0 A.D. (I think), but not as anything resembling a date.  If you are exporting this data, you must used this function to convert.  Read the schema first to determine which fields are date fields...

<?php
$schema
= $pxdoc->get_schema();

$dateFields = array();
foreach (
$schema as $key => $attrs) {
    if (
$attrs["type"] ==  PX_FIELD_DATE)    // Collect list of "date" columns
       
$dateFields[] = $key;
}
?>

An export to a CSV format, for example, could them be written...

<?php
for ($rec = 0; $rec < $totRecs; ++$rec) {
   
$arr = $pxdoc->get_record($rec);

    foreach (
$dateFields as $key) {
       
$arr[$key] = $pxdoc->date2string($arr[$key], "m/d/Y");
    }

   
fputcsv(STDOUT, $arr);  // STDOUT only available with CLI
}
?>
To Top