Copied!

Represents civil time (or occasionally physical time).

This type can represent a civil time in one of a few possible ways:

  • When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC.
  • When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone.
  • When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the time_offset oneof is set. Consider using Timestamp message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.

Generated from protobuf message google.type.DateTime

CloneableInstantiable
Methods
public __construct( $data = NULL)
 

Constructor.

  • param array $data { Optional. Data for populating the Message object.
    @type int $year
          Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a
          datetime without a year.
    @type int $month
          Required. Month of year. Must be from 1 to 12.
    @type int $day
          Required. Day of month. Must be from 1 to 31 and valid for the year and
          month.
    @type int $hours
          Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
          may choose to allow the value "24:00:00" for scenarios like business
          closing time.
    @type int $minutes
          Required. Minutes of hour of day. Must be from 0 to 59.
    @type int $seconds
          Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
          API may allow the value 60 if it allows leap-seconds.
    @type int $nanos
          Required. Fractions of seconds in nanoseconds. Must be from 0 to
          999,999,999.
    @type \Google\Protobuf\Duration $utc_offset
          UTC offset. Must be whole seconds, between -18 hours and +18 hours.
          For example, a UTC offset of -4:00 would be represented as
          { seconds: -14400 }.
    @type \Google\Type\TimeZone $time_zone
          Time zone.
    
    }
public Google\Protobuf\Internal\Message::__debugInfo()
public Google\Protobuf\Internal\Message::byteSize()
 
  • ignore
public Google\Protobuf\Internal\Message::clear()
 

Clear all containing fields.

  • return null
public Google\Protobuf\Internal\Message::discardUnknownFields()
 

Clear all unknown fields previously parsed.

  • return null
public getDay()
 

Required. Day of month. Must be from 1 to 31 and valid for the year and month.

Generated from protobuf field int32 day = 3;

  • return int
public getHours()
 

Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

Generated from protobuf field int32 hours = 4;

  • return int
public getMinutes()
 

Required. Minutes of hour of day. Must be from 0 to 59.

Generated from protobuf field int32 minutes = 5;

  • return int
public getMonth()
 

Required. Month of year. Must be from 1 to 12.

Generated from protobuf field int32 month = 2;

  • return int
public getNanos()
 

Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Generated from protobuf field int32 nanos = 7;

  • return int
public getSeconds()
 

Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

Generated from protobuf field int32 seconds = 6;

  • return int
public getTimeOffset()
 
  • return string
public getTimeZone()
 

Time zone.

Generated from protobuf field .google.type.TimeZone time_zone = 9;

  • return \Google\Type\TimeZone|null
public getUtcOffset()
 

UTC offset. Must be whole seconds, between -18 hours and +18 hours.

For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.

Generated from protobuf field .google.protobuf.Duration utc_offset = 8;

  • return \Google\Protobuf\Duration|null
public getYear()
 

Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.

Generated from protobuf field int32 year = 1;

  • return int
public hasTimeZone()
public hasUtcOffset()
public Google\Protobuf\Internal\Message::jsonByteSize( $options = 0)
 
  • ignore
public Google\Protobuf\Internal\Message::mergeFrom( $msg)
 

Merges the contents of the specified message into current message.

This method merges the contents of the specified message into the current message. Singular fields that are set in the specified message overwrite the corresponding fields in the current message. Repeated fields are appended. Map fields key-value pairs are overwritten. Singular/Oneof sub-messages are recursively merged. All overwritten sub-messages are deep-copied.

  • param object $msg Protobuf message to be merged from.
  • return null
public Google\Protobuf\Internal\Message::mergeFromJsonString( $data, $ignore_unknown = false)
 

Parses a json string to protobuf message.

This function takes a string in the json wire format, matching the encoding output by serializeToJsonString(). See mergeFrom() for merging behavior, if the field is already set in the specified message.

  • param string $data Json protobuf data.
  • param bool $ignore_unknown
  • return null
  • throws \Exception Invalid data.
public Google\Protobuf\Internal\Message::mergeFromString( $data)
 

Parses a protocol buffer contained in a string.

This function takes a string in the (non-human-readable) binary wire format, matching the encoding output by serializeToString(). See mergeFrom() for merging behavior, if the field is already set in the specified message.

  • param string $data Binary protobuf data.
  • return null
  • throws \Exception Invalid data.
public Google\Protobuf\Internal\Message::parseFromJsonStream( $input, $ignore_unknown)
 
  • ignore
public Google\Protobuf\Internal\Message::parseFromStream( $input)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToJsonStream( $output)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToJsonString( $options = 0)
 

Serialize the message to json string.

  • return string Serialized json protobuf data.
public Google\Protobuf\Internal\Message::serializeToStream( $output)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToString()
 

Serialize the message to string.

  • return string Serialized binary protobuf data.
public setDay( $var)
 

Required. Day of month. Must be from 1 to 31 and valid for the year and month.

Generated from protobuf field int32 day = 3;

  • param int $var
  • return $this
public setHours( $var)
 

Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

Generated from protobuf field int32 hours = 4;

  • param int $var
  • return $this
public setMinutes( $var)
 

Required. Minutes of hour of day. Must be from 0 to 59.

Generated from protobuf field int32 minutes = 5;

  • param int $var
  • return $this
public setMonth( $var)
 

Required. Month of year. Must be from 1 to 12.

Generated from protobuf field int32 month = 2;

  • param int $var
  • return $this
public setNanos( $var)
 

Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Generated from protobuf field int32 nanos = 7;

  • param int $var
  • return $this
public setSeconds( $var)
 

Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

Generated from protobuf field int32 seconds = 6;

  • param int $var
  • return $this
public setTimeZone( $var)
 

Time zone.

Generated from protobuf field .google.type.TimeZone time_zone = 9;

  • param \Google\Type\TimeZone $var
  • return $this
public setUtcOffset( $var)
 

UTC offset. Must be whole seconds, between -18 hours and +18 hours.

For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.

Generated from protobuf field .google.protobuf.Duration utc_offset = 8;

  • param \Google\Protobuf\Duration $var
  • return $this
public setYear( $var)
 

Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.

Generated from protobuf field int32 year = 1;

  • param int $var
  • return $this
Properties
protected $day = 0
 

Required. Day of month. Must be from 1 to 31 and valid for the year and month.

Generated from protobuf field int32 day = 3;

protected $hours = 0
 

Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

Generated from protobuf field int32 hours = 4;

protected $minutes = 0
 

Required. Minutes of hour of day. Must be from 0 to 59.

Generated from protobuf field int32 minutes = 5;

protected $month = 0
 

Required. Month of year. Must be from 1 to 12.

Generated from protobuf field int32 month = 2;

protected $nanos = 0
 

Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Generated from protobuf field int32 nanos = 7;

protected $seconds = 0
 

Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

Generated from protobuf field int32 seconds = 6;

protected $time_offset = NULL
protected $year = 0
 

Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.

Generated from protobuf field int32 year = 1;

Methods
protected Google\Protobuf\Internal\Message::hasOneof( $number)
protected Google\Protobuf\Internal\Message::mergeFromArray(array $array)
 

Populates the message from a user-supplied PHP array. Array keys correspond to Message properties and nested message properties.

Example:

$message->mergeFromArray([
    'name' => 'This is a message name',
    'interval' => [
         'startTime' => time() - 60,
         'endTime' => time(),
    ]
]);

This method will trigger an error if it is passed data that cannot be converted to the correct type. For example, a StringValue field must receive data that is either a string or a StringValue object.

  • param array $array An array containing message properties and values.
  • return null
protected Google\Protobuf\Internal\Message::mergeFromJsonArray( $array, $ignore_unknown)
protected Google\Protobuf\Internal\Message::readOneof( $number)
protected Google\Protobuf\Internal\Message::readWrapperValue( $member)
protected Google\Protobuf\Internal\Message::whichOneof( $oneof_name)
protected Google\Protobuf\Internal\Message::writeOneof( $number, $value)
protected Google\Protobuf\Internal\Message::writeWrapperValue( $member, $value)
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration