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, or day.

DateValue Function

Returns a date value from a date string. The date string is a complete date in a single numeric value. You can also use this serial number to determine the difference 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

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

Year Function

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

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

Note Icon

Years less than 100 and greater than 9999 are supported since LibreOffice 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.

Tip Icon

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.


Note Icon

The YYYY-MM-DD format with separators is supported since LibreOffice 5.3.4. Years less than 100 or greater than 9999 are accepted since LibreOffice 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 interval to a given date a number of times and returns the resulting date.

DateDiff Function

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

DatePart Function

The DatePart function returns a specified part of a date.

Please support us!