PHP Velho Oeste 2024

px_date2string

(PECL paradox >= 1.4.0)

px_date2string Конвертирует дату в строку

Описание

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

Превращает дату, хранящуюся в файле paradox, в человекочитаемый формат. Даты paradox - это количество дней, начиная с 1.1.0000. Эта функция просто для удобства. Ее легко можно заменить некоторыми математическими и календарными функциями, как показано в примере ниже.

Список параметров

pxdoc

Идентификатор ресурса базы данных paradox, возвращаемый функцией px_new().

value

Значение, сохраненное в поле базы данных paradox типа PX_FIELD_DATE.

format

Формат в виде строки, похожий на формат используемой date(). Заполнители, поддерживаемые этой функцией, являются подмножеством тех, которые есть в функции date() (Y, y, m, n, d, j, L)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Превращение даты paradox в человекочитаемый формат

<?php
$px 
px_new();

/* Составить дату, которая может быть сохранена */
/* в поле даты базы данных paradox. */
/* 700000 дней, начиная с 1.1.0000. */
$days 700000;

/* Использовать функции календаря для вывода */
/* человекочитаемого формата даты */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() выведет то же самое */
echo px_date2string($px$days"n/d/Y")."\n";

px_delete($px);
?>

Результат выполнения данного примера:

7/15/1917
7/15/1917

Смотрите также

  • px_timestamp2string() - Конвертирует отметку времени в строку
  • jdtogregorian() - Переводит число дней в юлианском летоисчислении в дату по Григорианскому календарю

add a note add a note

User Contributed Notes 1 note

up
0
john dot navratil at sbcglobal dot net
13 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