36 lines
1010 B
PHP
36 lines
1010 B
PHP
<?php
|
|
namespace nulib\db\_private;
|
|
|
|
use nulib\php\time\Date;
|
|
use nulib\php\time\DateTime;
|
|
|
|
trait Tvalues {
|
|
/**
|
|
* Tester si $date est une date/heure valide de la forme "YYYY-mm-dd HH:MM:SS"
|
|
*
|
|
* Si oui, $ms obtient les 6 éléments de la chaine
|
|
*/
|
|
static function is_datetime($date, ?array &$ms=null): bool {
|
|
return is_string($date) && preg_match('/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/', $date, $ms);
|
|
}
|
|
|
|
/**
|
|
* Tester si $date est une date valide de la forme "YYYY-mm-dd [00:00:00]"
|
|
*
|
|
* Si oui, $ms obtient les 3 éléments de la chaine
|
|
*/
|
|
static function is_date($date, ?array &$ms=null): bool {
|
|
return is_string($date) && preg_match('/^(\d{4})-(\d{2})-(\d{2})(?: 00:00:00)?$/', $date, $ms);
|
|
}
|
|
|
|
function verifixRow(array &$row) {
|
|
foreach ($row as &$value) {
|
|
if (self::is_date($value)) {
|
|
$value = new Date($value);
|
|
} elseif (self::is_datetime($value)) {
|
|
$value = new DateTime($value);
|
|
}
|
|
}; unset($value);
|
|
}
|
|
}
|