Contents

# Converting Date Values

The following functions convert date values to calculable numbers and back.

## DateSerial Function

Returns a Date value for a specified year, month, and day.

## DateValue Function

Returns a Date object from a string representing a date.

The returned object is represented internally as a single numeric value corresponding to the specified date. This value can be used to calculate the number of days between two dates.

## Day Function

Returns a value that represents the day of the month based on a serial date number generated by DateSerial or DateValue.

## Month Function

Returns the month of a year from a serial date that is generated by the DateSerial or the DateValue function.

## WeekDay Function

This function returns the number corresponding to the weekday represented by a serial date number that is generated by the DateSerial or the DateValue functions.

## Year Function

Returns the year from a serial date number that is generated by the DateSerial or the DateValue function.

## CDate Function

Converts any string or numeric expression to a date value.

## CDateToIso Function

Returns the date in ISO format without separators (YYYYMMDD) from a serial date number that is generated by the DateSerial or the DateValue or the CDateFromIso function.

The year part consists of at least four digits, with leading zeros if the absolute value is less than 1000, it can be negative with a leading minus sign if the date passed denotes a year before the common era (BCE) and it can have more than four digits if the absolute value is greater than 9999. The formatted string returned can be in the range "-327680101" to "327671231".

Years less than 100 and greater than 9999 are supported since LibreOfficeDev 5.4.

## CDateFromIso Function

Returns the internal date number from a string that contains a date in ISO format (YYYYMMDD or YYYY-MM-DD).

The year part must consist of either two (supported only in YYMMDD format without separators for compatibility) or at least four digits. With four digits leading zeros must be given if the absolute value is less than 1000, it can be negative with a leading minus sign if the date passed denotes a year before the common era (BCE) and it can have more than four digits if the absolute value is greater than 9999. The formatted string can be in the range "-327680101" to "327671231", or "-32768-01-01" to "32767-12-31".

An invalid date results in an error. Year 0 is not accepted, the last day BCE is -0001-12-31 and the next day CE is 0001-01-01. Dates before 1582-10-15 are in the proleptic Gregorian calendar.

When converting a date serial number to a printable string, for example for the Print or MsgBox command, the locale's default calendar is used and at that 1582-10-15 cutover date may switch to the Julian calendar, which can result in a different date being displayed than expected. Use the CDateToIso Function to convert such date number to a string representation in the proleptic Gregorian calendar.

The YYYY-MM-DD format with separators is supported since LibreOfficeDev 5.3.4. Years less than 100 or greater than 9999 are accepted since LibreOfficeDev 5.4 if not in VBA compatibility mode.

## CDateToUnoDate Function

Returns the date as a UNO com.sun.star.util.Date struct.

## CDateFromUnoDate Function

Converts a UNO com.sun.star.util.Date struct to a Date value.

## CDateToUnoDateTime Function

Returns the time part of the date as a UNO com.sun.star.util.DateTime struct.

## CDateFromUnoDateTime Function

Converts a UNO com.sun.star.util.DateTime struct to a Date value.

## DateAdd Function

Adds a date or time interval to a given date a number of times and returns the resulting date.

## DateDiff Function

Returns the number of date or time intervals between two given date values.

## DatePart Function

The DatePart function returns a specified part of a date.