Klasse DateTime

Alle implementierten Schnittstellen:
PointerInterface

public class DateTime extends Record
Struct to store date, time and timezone information altogether.
#GstDateTime is refcounted and immutable.

Date information is handled using the [proleptic Gregorian calendar].

Provides basic creation functions and accessor functions to its fields.

[proleptic Gregorian calendar]: https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar

https://gstreamer.freedesktop.org/documentation/gstreamer/gi-index.html

  • Konstruktordetails

    • DateTime

      public DateTime(PointerContainer pointer)
    • DateTime

      public DateTime(float tzoffset, int year, int month, int day, int hour, int minute, double seconds)
      Creates a new #GstDateTime using the date and times in the gregorian calendar
      in the supplied timezone.

      @year should be from 1 to 9999, @month should be from 1 to 12, @day from
      1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.

      Note that @tzoffset is a float and was chosen so for being able to handle
      some fractional timezones, while it still keeps the readability of
      representing it in hours for most timezones.

      If value is -1 then all over value will be ignored. For example
      if @month == -1, then #GstDateTime will be created only for @year. If
      @day == -1, then #GstDateTime will be created for @year and @month and
      so on.
      Parameter:
      tzoffset - Offset from UTC in hours.
      year - the gregorian year
      month - the gregorian month
      day - the day of the gregorian month
      hour - the hour of the day
      minute - the minute of the hour
      seconds - the second of the minute
  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • newFromGDateTimeDateTime

      public static DateTime newFromGDateTimeDateTime(@Nullable DateTime dt)
      Creates a new #GstDateTime from a #GDateTime object.
      Parameter:
      dt - the #GDateTime.
      Gibt zurück:
      a newly created #GstDateTime, or %NULL if @dt is %NULL.
    • newFromIso8601StringDateTime

      public static DateTime newFromIso8601StringDateTime(@Nonnull Str string)
      Tries to parse common variants of ISO-8601 datetime strings into a
      #GstDateTime. Possible input formats are (for example):
      `2012-06-30T22:46:43Z`, `2012`, `2012-06`, `2012-06-30`, `2012-06-30T22:46:43-0430`,
      `2012-06-30T22:46Z`, `2012-06-30T22:46-0430`, `2012-06-30 22:46`,
      `2012-06-30 22:46:43`, `2012-06-00`, `2012-00-00`, `2012-00-30`, `22:46:43Z`, `22:46Z`,
      `22:46:43-0430`, `22:46-0430`, `22:46:30`, `22:46`
      If no date is provided, it is assumed to be "today" in the timezone
      provided (if any), otherwise UTC.
      Parameter:
      string - ISO 8601-formatted datetime string.
      Gibt zurück:
      a newly created #GstDateTime, or %NULL on error
    • newFromIso8601StringDateTime

      public static DateTime newFromIso8601StringDateTime(String string)
      Tries to parse common variants of ISO-8601 datetime strings into a
      #GstDateTime. Possible input formats are (for example):
      `2012-06-30T22:46:43Z`, `2012`, `2012-06`, `2012-06-30`, `2012-06-30T22:46:43-0430`,
      `2012-06-30T22:46Z`, `2012-06-30T22:46-0430`, `2012-06-30 22:46`,
      `2012-06-30 22:46:43`, `2012-06-00`, `2012-00-00`, `2012-00-30`, `22:46:43Z`, `22:46Z`,
      `22:46:43-0430`, `22:46-0430`, `22:46:30`, `22:46`
      If no date is provided, it is assumed to be "today" in the timezone
      provided (if any), otherwise UTC.
      Parameter:
      string - ISO 8601-formatted datetime string.
      Gibt zurück:
      a newly created #GstDateTime, or %NULL on error
    • newFromUnixEpochLocalTimeDateTime

      public static DateTime newFromUnixEpochLocalTimeDateTime(long secs)
      Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
      @secs. The #GstDateTime is in the local timezone.
      Parameter:
      secs - seconds from the Unix epoch
      Gibt zurück:
      the newly created #GstDateTime, or %NULL on error.
    • newFromUnixEpochLocalTimeUsecsDateTime

      public static DateTime newFromUnixEpochLocalTimeUsecsDateTime(long usecs)
      Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
      @usecs. The #GstDateTime is in the local timezone.
      Parameter:
      usecs - microseconds from the Unix epoch
      Gibt zurück:
      a newly created #GstDateTime, or %NULL on error.
    • newFromUnixEpochUtcDateTime

      public static DateTime newFromUnixEpochUtcDateTime(long secs)
      Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
      @secs. The #GstDateTime is in the UTC timezone.
      Parameter:
      secs - seconds from the Unix epoch
      Gibt zurück:
      the newly created #GstDateTime, or %NULL on error.
    • newFromUnixEpochUtcUsecsDateTime

      public static DateTime newFromUnixEpochUtcUsecsDateTime(long usecs)
      Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
      @usecs. The #GstDateTime is in UTC.
      Parameter:
      usecs - microseconds from the Unix epoch
      Gibt zurück:
      a newly created #GstDateTime, or %NULL on error.
    • newLocalTimeDateTime

      public static DateTime newLocalTimeDateTime(int year, int month, int day, int hour, int minute, double seconds)
      Creates a new #GstDateTime using the date and times in the gregorian calendar
      in the local timezone.

      @year should be from 1 to 9999, @month should be from 1 to 12, @day from
      1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.

      If @month is -1, then the #GstDateTime created will only contain @year,
      and all other fields will be considered not set.

      If @day is -1, then the #GstDateTime created will only contain @year and
      @month and all other fields will be considered not set.

      If @hour is -1, then the #GstDateTime created will only contain @year and
      @month and @day, and the time fields will be considered not set. In this
      case @minute and @seconds should also be -1.
      Parameter:
      year - the gregorian year
      month - the gregorian month, or -1
      day - the day of the gregorian month, or -1
      hour - the hour of the day, or -1
      minute - the minute of the hour, or -1
      seconds - the second of the minute, or -1
      Gibt zurück:
      the newly created #GstDateTime, or %NULL on error.
    • newNowLocalTimeDateTime

      public static DateTime newNowLocalTimeDateTime()
      Creates a new #GstDateTime representing the current date and time.
      Gibt zurück:
      the newly created #GstDateTime which should be freed with gst_date_time_unref(), or %NULL on error.
    • newNowUtcDateTime

      public static DateTime newNowUtcDateTime()
      Creates a new #GstDateTime that represents the current instant at Universal
      coordinated time.
      Gibt zurück:
      the newly created #GstDateTime which should be freed with gst_date_time_unref(), or %NULL on error.
    • newYDateTime

      public static DateTime newYDateTime(int year)
      Creates a new #GstDateTime using the date and times in the gregorian calendar
      in the local timezone.

      @year should be from 1 to 9999.
      Parameter:
      year - the gregorian year
      Gibt zurück:
      the newly created #GstDateTime, or %NULL on error.
    • newYmDateTime

      public static DateTime newYmDateTime(int year, int month)
      Creates a new #GstDateTime using the date and times in the gregorian calendar
      in the local timezone.

      @year should be from 1 to 9999, @month should be from 1 to 12.

      If value is -1 then all over value will be ignored. For example
      if @month == -1, then #GstDateTime will created only for @year.
      Parameter:
      year - the gregorian year
      month - the gregorian month
      Gibt zurück:
      the newly created #GstDateTime, or %NULL on error.
    • newYmdDateTime

      public static DateTime newYmdDateTime(int year, int month, int day)
      Creates a new #GstDateTime using the date and times in the gregorian calendar
      in the local timezone.

      @year should be from 1 to 9999, @month should be from 1 to 12, @day from
      1 to 31.

      If value is -1 then all over value will be ignored. For example
      if @month == -1, then #GstDateTime will created only for @year. If
      @day == -1, then #GstDateTime will created for @year and @month and
      so on.
      Parameter:
      year - the gregorian year
      month - the gregorian month
      day - the day of the gregorian month
      Gibt zurück:
      the newly created #GstDateTime, or %NULL on error.
    • getDay

      public int getDay()
      Returns the day of the month of this #GstDateTime.
      Gibt zurück:
      The day of this #GstDateTime, or -1 if none is set.
    • getHour

      public int getHour()
      Retrieves the hour of the day represented by @datetime in the gregorian
      calendar. The return is in the range of 0 to 23.
      Gibt zurück:
      the hour of the day, or -1 if none is set.
    • getMicrosecond

      public int getMicrosecond()
      Retrieves the fractional part of the seconds in microseconds represented by
      @datetime in the gregorian calendar.
      Gibt zurück:
      the microsecond of the second, or -1 if none is set.
    • getMinute

      public int getMinute()
      Retrieves the minute of the hour represented by @datetime in the gregorian
      calendar.
      Gibt zurück:
      the minute of the hour, or -1 if none is set.
    • getMonth

      public int getMonth()
      Returns the month of this #GstDateTime. January is 1, February is 2, etc..
      Gibt zurück:
      The month of this #GstDateTime, or -1 if none is set.
    • getSecond

      public int getSecond()
      Retrieves the second of the minute represented by @datetime in the gregorian
      calendar.
      Gibt zurück:
      the second represented by @datetime, or -1 if none is set.
    • getTimeZoneOffset

      public float getTimeZoneOffset()
      Retrieves the offset from UTC in hours that the timezone specified
      by @datetime represents. Timezones ahead (to the east) of UTC have positive
      values, timezones before (to the west) of UTC have negative values.
      If @datetime represents UTC time, then the offset is zero.
      Gibt zurück:
      the offset from UTC in hours, or %G_MAXFLOAT if none is set.
    • getYear

      public int getYear()
      Returns the year of this #GstDateTime.
      Call gst_date_time_has_year() before, to avoid warnings.
      Gibt zurück:
      The year of this #GstDateTime
    • hasDay

      public boolean hasDay()
      Gibt zurück:
      %TRUE if @datetime<!-- -->'s day field is set, otherwise %FALSE
    • hasMonth

      public boolean hasMonth()
      Gibt zurück:
      %TRUE if @datetime<!-- -->'s month field is set, otherwise %FALSE
    • hasSecond

      public boolean hasSecond()
      Gibt zurück:
      %TRUE if @datetime<!-- -->'s second field is set, otherwise %FALSE
    • hasTime

      public boolean hasTime()
      Gibt zurück:
      %TRUE if @datetime<!-- -->'s hour and minute fields are set, otherwise %FALSE
    • hasYear

      public boolean hasYear()
      Gibt zurück:
      %TRUE if @datetime<!-- -->'s year field is set (which should always be the case), otherwise %FALSE
    • ref

      public DateTime ref()
      Atomically increments the reference count of @datetime by one.
      Gibt zurück:
      the reference @datetime
    • toGDateTime

      public DateTime toGDateTime()
      Creates a new #GDateTime from a fully defined #GstDateTime object.
      Gibt zurück:
      a newly created #GDateTime, or %NULL on error or if @datetime does not have a year, month, day, hour, minute and second.
    • toIso8601String

      public Str toIso8601String()
      Create a minimal string compatible with ISO-8601. Possible output formats
      are (for example): `2012`, `2012-06`, `2012-06-23`, `2012-06-23T23:30Z`,
      `2012-06-23T23:30+0100`, `2012-06-23T23:30:59Z`, `2012-06-23T23:30:59+0100`
      Gibt zurück:
      a newly allocated string formatted according to ISO 8601 and only including the datetime fields that are valid, or %NULL in case there was an error.
    • unref

      public void unref()
      Atomically decrements the reference count of @datetime by one. When the
      reference count reaches zero, the structure is freed.
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()