Beispiel #1
0
 /**
  * Преобразует значение
  *
  * Преобразует значение полученное из БД в нужный формат, для работы с ним в php
  *
  * @params DB_ColumnMeta $metadata мета-данные колонки
  * @params mixed $value значение
  *
  * @return mixed
  */
 public function cast_column(DB_ColumnMeta $metadata, $value)
 {
     switch ($metadata->type) {
         case 'datetime':
         case 'timestamp':
         case 'date':
             return is_null($value) ? null : Time_DateTime::parse($value);
         case 'time':
             return is_null($value) ? null : Time_DateTime::parse($value, TIME::FMT_HMS);
         case 'boolean':
             return $value ? true : false;
         case 'longlong':
         case 'int24':
         case 'integer':
         case 'long':
         case 'tiny':
         case 'short':
             return is_null($value) ? null : (int) $value;
         case 'float':
         case 'double':
             return is_null($value) ? null : (double) $value;
         default:
             return $value;
     }
 }
Beispiel #2
0
 /**
  * @covers Time_DateTime::datetime2timestamp
  */
 public function testDatetime2timestamp()
 {
     $format_dmy = 'd.m.Y';
     $string_dmy = '11.09.2011';
     $date = Time_DateTime::parse($string_dmy, $format_dmy);
     $date->setTime(0, 0, 0);
     $this->assertEquals($date->ts, Time_DateTime::datetime2timestamp($string_dmy));
     $format_dmy_Gi = 'd.m.Y - G:i';
     $string_dmy_Gi = '11.09.2011 - 12:10';
     $date = Time_DateTime::parse($string_dmy_Gi, $format_dmy_Gi);
     $this->assertEquals($date->ts, Time_DateTime::datetime2timestamp($string_dmy_Gi));
     $format_dmy_Gis = 'd.m.Y - G:i:s';
     $string_dmy_Gis = '11.09.2011 - 12:10:11';
     $date = Time_DateTime::parse($string_dmy_Gis, $format_dmy_Gis);
     //var_dump($date->ts);
     $this->assertEquals($date->ts, Time_DateTime::datetime2timestamp($string_dmy_Gis));
     $string = '11-09-2011 12:10:11';
     $date = Time_DateTime::parse($string);
     //var_dump($date->ts);
     $this->assertEquals($date->ts, Time_DateTime::datetime2timestamp($string));
     $this->assertEquals(0, Time_DateTime::datetime2timestamp(''));
 }
Beispiel #3
0
 /**
  * Переводит дату из строкового представления в timestamp
  *
  * В качестве параметра принимаются значения вида: "d.m.y", "d.m.y - G:i", "d.m.y - G:i:s".
  * Если передана некорректная строка, то будет возвращен ноль.
  *
  * @params string $in дата
  *
  * @return integer
  */
 public static function s2date($in)
 {
     $date = Time_DateTime::parse($in, '!d.m.Y');
     if (!$date) {
         $date = Time_DateTime::parse($in, 'd.m.Y - G:i');
     }
     if (!$date) {
         $date = Time_DateTime::parse($in, 'd.m.Y - G:i:s');
     }
     return $date ? $date->ts : 0;
 }