1 utility.inc views_date_sql_field($field, $field_type = 'int', $set_offset = NULL)

Helper function to create cross-database SQL dates.

Parameters

$field: The real table and field name, like 'tablename.fieldname'.

$field_type: The type of date field, 'int' or 'datetime'.

$set_offset: The name of a field that holds the timezone offset or a fixed timezone offset value. If not provided, the normal Backdrop timezone handling will be used, i.e. $set_offset = 0 will make no timezone adjustment.

Return value

An appropriate SQL string for the db type and field type.:

File

core/modules/views/includes/utility.inc, line 341
Utility functions for assembling Views queries.

Code

function views_date_sql_field($field, $field_type = 'int', $set_offset = NULL) {
  $offset = $set_offset !== NULL ? $set_offset : views_get_timezone();
  if (isset($offset) && !is_numeric($offset)) {
    $dtz = new DateTimeZone($offset);
    $dt = new DateTime("now", $dtz);
    $offset_seconds = $dtz->getOffset($dt);
  }

  switch ($field_type) {
    case 'int':
      $field = "DATE_ADD('19700101', INTERVAL $field SECOND)";
      break;
    case 'datetime':
      break;
  }
  if (!empty($offset)) {
    $field = "($field + INTERVAL $offset_seconds SECOND)";
  }
  return $field;
}