Преобразование формата даты из PHP в Postgres

Допустим, мы хотим вывести дату в привычном для нас формате Y-m-d H:i:s

Обращаемся к этой функции: SQLDATE(«Y-m-d H:i:s»), получаем ‘YYYY-MM-DD HH24:MI:SS’ — формат, который можно использовать в запросах к базе Postgre SQL [Прим: TO_CHAR(table.data, ‘YYYY-MM-DD HH24:MI:SS’)]

function SQLDate($fmt) {
  $len = strlen($fmt);
  for ($i=0; $i < $len; $i++) {
  $ch = $fmt[$i];
    switch($ch) {
    case 'Y':
    case 'y':
      $s .= 'YYYY';
      break;
    
    case 'Q':
    case 'q':
    $s .= 'Q';
    break;
    
    case 'M':
      $s .= 'Mon';
      break;
    
    case 'm':
    $s .= 'MM';
    break;
    
    case 'D':
    case 'd':
      $s .= 'DD';
      break;
    
    case 'H':
      $s.= 'HH24';
      break;
    
    case 'h':
      $s .= 'HH';
      break;
    
    case 'i':
        $s .= 'MI';
      break;
    
    case 's':
      $s .= 'SS';
      break;
    
    case 'a':
    case 'A':
      $s .= 'AM';
      break;
    
    case 'w':
      $s .= 'D';
      break;
    
    case 'l':
      $s .= 'DAY';
      break;
    
    default:
      // handle escape characters...
      if ($ch == '\\') {
        $i++;
        $ch = substr($fmt,$i,1);
      }
      if (strpos('-/.:;, ',$ch) !== false)
          $s .= $ch;
      else
          $s .= '"'.$ch.'"';
    }
  }
  return $s;
}

Оставить комментарий