Class DateTime (2.10.0)

public sealed class DateTime : IMessage<DateTime>, IEquatable<DateTime>, IDeepCloneable<DateTime>, IBufferMessage, IMessage

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.

Inheritance

object > DateTime

Namespace

Google.Type

Assembly

Google.Api.CommonProtos.dll

Constructors

DateTime()

public DateTime()

DateTime(DateTime)

public DateTime(DateTime other)
Parameter
NameDescription
otherDateTime

Fields

DayFieldNumber

public const int DayFieldNumber = 3

Field number for the "day" field.

Field Value
TypeDescription
int

HoursFieldNumber

public const int HoursFieldNumber = 4

Field number for the "hours" field.

Field Value
TypeDescription
int

MinutesFieldNumber

public const int MinutesFieldNumber = 5

Field number for the "minutes" field.

Field Value
TypeDescription
int

MonthFieldNumber

public const int MonthFieldNumber = 2

Field number for the "month" field.

Field Value
TypeDescription
int

NanosFieldNumber

public const int NanosFieldNumber = 7

Field number for the "nanos" field.

Field Value
TypeDescription
int

SecondsFieldNumber

public const int SecondsFieldNumber = 6

Field number for the "seconds" field.

Field Value
TypeDescription
int

TimeZoneFieldNumber

public const int TimeZoneFieldNumber = 9

Field number for the "time_zone" field.

Field Value
TypeDescription
int

UtcOffsetFieldNumber

public const int UtcOffsetFieldNumber = 8

Field number for the "utc_offset" field.

Field Value
TypeDescription
int

YearFieldNumber

public const int YearFieldNumber = 1

Field number for the "year" field.

Field Value
TypeDescription
int

Properties

Day

public int Day { get; set; }

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

Property Value
TypeDescription
int

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
MessageDescriptor

Hours

public int Hours { get; set; }

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.

Property Value
TypeDescription
int

Minutes

public int Minutes { get; set; }

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

Property Value
TypeDescription
int

Month

public int Month { get; set; }

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

Property Value
TypeDescription
int

Nanos

public int Nanos { get; set; }

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

Property Value
TypeDescription
int

Parser

public static MessageParser<DateTime> Parser { get; }
Property Value
TypeDescription
MessageParserDateTime

Seconds

public int Seconds { get; set; }

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.

Property Value
TypeDescription
int

TimeOffsetCase

public DateTime.TimeOffsetOneofCase TimeOffsetCase { get; }
Property Value
TypeDescription
DateTimeTimeOffsetOneofCase

TimeZone

public TimeZone TimeZone { get; set; }

Time zone.

Property Value
TypeDescription
TimeZone

UtcOffset

public Duration UtcOffset { get; set; }

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 }.

Property Value
TypeDescription
Duration

Year

public int Year { get; set; }

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

Property Value
TypeDescription
int

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
int

ClearTimeOffset()

public void ClearTimeOffset()

Clone()

public DateTime Clone()
Returns
TypeDescription
DateTime

Equals(DateTime)

public bool Equals(DateTime other)
Parameter
NameDescription
otherDateTime
Returns
TypeDescription
bool

Equals(object)

public override bool Equals(object other)
Parameter
NameDescription
otherobject
Returns
TypeDescription
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
int
Overrides

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
NameDescription
inputCodedInputStream

MergeFrom(DateTime)

public void MergeFrom(DateTime other)
Parameter
NameDescription
otherDateTime

ToString()

public override string ToString()
Returns
TypeDescription
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
NameDescription
outputCodedOutputStream