You are here

public function EasyRdf_Literal_DateTime::__construct in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/DateTime.php \EasyRdf_Literal_DateTime::__construct()

Constructor for creating a new date and time literal

If the value is a DateTime object, then it will be converted to the xsd:dateTime format. If no value is given or is is null, then the current time is used.

Parameters

mixed $value The value of the literal:

string $lang Should be null (literals with a datatype can't have a language):

string $datatype Optional datatype (default 'xsd:dateTime'):

Return value

object EasyRdf_Literal_DateTime

Overrides EasyRdf_Literal_Date::__construct

See also

DateTime

File

vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/DateTime.php, line 60

Class

EasyRdf_Literal_DateTime
Class that represents an RDF Literal of datatype xsd:dateTime

Code

public function __construct($value = null, $lang = null, $datatype = null) {

  // If $value is null, use 'now'
  if (is_null($value)) {
    $value = new DateTime('now');
  }

  // Convert DateTime objects into string
  if ($value instanceof DateTime) {
    $atom = $value
      ->format(DateTime::ATOM);
    $value = preg_replace('/[\\+\\-]00(\\:?)00$/', 'Z', $atom);
  }
  EasyRdf_Literal::__construct($value, null, $datatype);
}