Date

class Date(pointer: <Error class: unknown class><<Error class: unknown class>>) : Record

Represents a day between January 1, Year 1 and a few thousand years in the future. None of its members should be accessed directly.

If the GDate is obtained from g_date_new(), it will be safe to mutate but invalid and thus not safe for calendrical computations.

If it's declared on the stack, it will contain garbage so must be initialized with g_date_clear(). g_date_clear() makes the date invalid but safe. An invalid date doesn't represent a day, it's "empty." A date becomes valid after you set it to a Julian day or you set a day, month, and year.

Skipped during bindings generation

  • method get_day: Return type DateDay is unsupported

  • method get_year: Return type DateYear is unsupported

  • parameter day: DateDay

  • parameter day: DateDay

  • parameter time_: Time

  • parameter year: DateYear

  • parameter tm: gpointer

  • parameter day: DateDay

  • parameter year: DateYear

  • parameter year: DateYear

  • parameter year: DateYear

  • parameter year: DateYear

  • function strftime: C function g_date_strftime is ignored

  • parameter day: DateDay

  • parameter day: DateDay

  • parameter year: DateYear

Constructors

Link copied to clipboard
constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion : RecordCompanion<Date, <Error class: unknown class>>

Properties

Link copied to clipboard
var day: <Error class: unknown class>

the day of the day-month-year representation of the date, as a number between 1 and 31

Link copied to clipboard
var dmy: <Error class: unknown class>

this is set if @day, @month and @year are valid

Link copied to clipboard
val glibDatePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
var julian: <Error class: unknown class>

this bit is set if @julian_days is valid

Link copied to clipboard
var julianDays: <Error class: unknown class>

the Julian representation of the date

Link copied to clipboard
var month: <Error class: unknown class>

the day of the day-month-year representation of the date, as a number between 1 and 12

Link copied to clipboard
var year: <Error class: unknown class>

the day of the day-month-year representation of the date

Functions

Link copied to clipboard
fun addDays(nDays: <Error class: unknown class>)

Increments a date some number of days. To move forward by weeks, add weeks*7 days. The date must be valid.

Link copied to clipboard
fun addMonths(nMonths: <Error class: unknown class>)

Increments a date by some number of months. If the day of the month is greater than 28, this routine may change the day of the month (because the destination month may not have the current day in it). The date must be valid.

Link copied to clipboard
fun addYears(nYears: <Error class: unknown class>)

Increments a date by some number of years. If the date is February 29, and the destination year is not a leap year, the date will be changed to February 28. The date must be valid.

Link copied to clipboard
fun clamp(minDate: Date, maxDate: Date)

If @date is prior to @min_date, sets @date equal to @min_date. If @date falls after @max_date, sets @date equal to @max_date. Otherwise, @date is unchanged. Either of @min_date and @max_date may be null. All non-null dates must be valid.

Link copied to clipboard
fun clear(nDates: <Error class: unknown class>)

Initializes one or more #GDate structs to a safe but invalid state. The cleared dates will not represent an existing date, but will not contain garbage. Useful to init a date declared on the stack. Validity can be tested with g_date_valid().

Link copied to clipboard
fun compare(rhs: Date): Int

qsort()-style comparison function for dates. Both dates must be valid.

Link copied to clipboard
fun copy(): Date

Copies a GDate to a newly-allocated GDate. If the input was invalid (as determined by g_date_valid()), the invalid state will be copied as is into the new object.

Link copied to clipboard
fun daysBetween(date2: Date): Int

Computes the number of days between two dates. If @date2 is prior to @date1, the returned value is negative. Both dates must be valid.

Link copied to clipboard
fun free()

Frees a #GDate returned from g_date_new().

Link copied to clipboard
fun getDayOfYear(): <Error class: unknown class>

Returns the day of the year, where Jan 1 is the first day of the year. The date must be valid.

Link copied to clipboard
fun getIso8601WeekOfYear(): <Error class: unknown class>

Returns the week of the year, where weeks are interpreted according to ISO 8601.

Link copied to clipboard
fun getJulian(): <Error class: unknown class>

Returns the Julian day or "serial number" of the #GDate. The Julian day is simply the number of days since January 1, Year 1; i.e., January 1, Year 1 is Julian day 1; January 2, Year 1 is Julian day 2, etc. The date must be valid.

Link copied to clipboard
fun getMondayWeekOfYear(): <Error class: unknown class>

Returns the week of the year, where weeks are understood to start on Monday. If the date is before the first Monday of the year, return 0. The date must be valid.

Link copied to clipboard

Returns the month of the year. The date must be valid.

Link copied to clipboard
fun getSundayWeekOfYear(): <Error class: unknown class>

Returns the week of the year during which this date falls, if weeks are understood to begin on Sunday. The date must be valid. Can return 0 if the day is before the first Sunday of the year.

Link copied to clipboard

Returns the day of the week for a #GDate. The date must be valid.

Link copied to clipboard

Returns true if the date is on the first of a month. The date must be valid.

Link copied to clipboard

Returns true if the date is the last day of the month. The date must be valid.

Link copied to clipboard
fun order(date2: Date)

Checks if @date1 is less than or equal to @date2, and swap the values if this is not the case.

Link copied to clipboard
fun setJulian(julianDate: <Error class: unknown class>)

Sets the value of a #GDate from a Julian day number.

Link copied to clipboard
fun setMonth(month: DateMonth)

Sets the month of the year for a #GDate. If the resulting day-month-year triplet is invalid, the date will be invalid.

Link copied to clipboard
fun setParse(str: String)

Parses a user-inputted string @str, and try to figure out what date it represents, taking the setlocale into account. If the string is successfully parsed, the date will be valid after the call. Otherwise, it will be invalid. You should check using g_date_valid() to see whether the parsing succeeded.

Link copied to clipboard
fun setTimeT(timet: Long)

Sets the value of a date to the date corresponding to a time specified as a time_t. The time to date conversion is done using the user's current timezone.

Link copied to clipboard
fun setTimeVal(timeval: TimeVal)

Sets the value of a date from a #GTimeVal value. Note that the

Link copied to clipboard
fun subtractDays(nDays: <Error class: unknown class>)

Moves a date some number of days into the past. To move by weeks, just move by weeks*7 days. The date must be valid.

Link copied to clipboard
fun subtractMonths(nMonths: <Error class: unknown class>)

Moves a date some number of months into the past. If the current day of the month doesn't exist in the destination month, the day of the month may change. The date must be valid.

Link copied to clipboard
fun subtractYears(nYears: <Error class: unknown class>)

Moves a date some number of years into the past. If the current day doesn't exist in the destination year (i.e. it's February 29 and you move to a non-leap-year) then the day is changed to February 29. The date must be valid.

Link copied to clipboard
fun valid(): Boolean

Returns true if the #GDate represents an existing day. The date must not contain garbage; it should have been initialized with g_date_clear() if it wasn't allocated by one of the g_date_new() variants.