# Add-in Functions

The following describes and lists some of the available add-in functions.

You will also find a description of the LibreOffice Calc add-in interface in the Help. In addition, important functions and their parameters are described in the Help for the LibreOffice Calc add-in DLLShared Library.

## Contents

## Add-ins supplied

LibreOffice contains examples for the add-in interface of LibreOffice Calc.

## YEARS

Calculates the difference in years between two dates.

### Syntax

`YEARS(StartDate; EndDate; Type)`

**StartDate** is the first date

**EndDate** is the second date

**Type** calculates the type of difference. Possible values are 0 (interval) and 1 (in calendar years).

## WEEKSINYEAR

Calculates the number of weeks of the year in which the date entered occurs. The number of weeks is defined as follows: a week that spans two years is added to the year in which most days of that week occur.

### Syntax

`WEEKSINYEAR(Date)`

**Date** is any date in the respective year. The Date parameter must be a valid date according to the locale settings of LibreOffice.

### Example

WEEKSINYEAR(A1) returns 53 if A1 contains 1970-02-17, a valid date for the year 1970.

## WEEKS

Calculates the difference in weeks between two dates.

### Syntax

`WEEKS(StartDate; EndDate; Type)`

**StartDate** is the first date

**EndDate** is the second date

**Type** calculates the type of difference. The possible values are 0 (interval) and 1 (in numbers of weeks).

## ROT13

Encrypts a character string by moving the characters 13 positions in the alphabet. After the letter Z, the alphabet begins again (Rotation). By applying the encryption function again to the resulting code, you can decrypt the text.

### Syntax

`ROT13(Text)`

**Text** is the character string to be encrypted. ROT13(ROT13(Text)) decrypts the code.

## MONTHS

Calculates the difference in months between two dates.

### Syntax

`MONTHS(StartDate; EndDate; Type)`

**StartDate** is the first date

**EndDate** is the second date

**Type** calculates the type of difference. Possible values include 0 (interval) and 1 (in calendar months).

## ISLEAPYEAR

Determines whether a year is a leap year. If yes, the function will return the value 1 (TRUE); if not, it will return 0 (FALSE).

### Syntax

`ISLEAPYEAR(Date)`

**Date** specifies whether a given date falls within a leap year. The Date parameter must be a valid date.

### Example

=ISLEAPYEAR(A1) returns 1, if A1 contains 1968-02-29, the valid date 29th of February 1968 in your locale setting.

You may also use =ISLEAPYEAR(DATE(1968;2;29)) or =ISLEAPYEAR("1968-02-29") giving the date string in the ISO 8601 notation.

Never use =ISLEAPYEAR(2/29/68), because this would first evaluate 2 divided by 29 divided by 68, and then calculate the ISLEAPYEAR function from this small number as a serial date number.

## DAYSINYEAR

Calculates the number of days of the year in which the date entered occurs.

### Syntax

`DAYSINYEAR(Date)`

**Date** is any date in the respective year. The Date parameter must be a valid date according to the locale settings of LibreOffice.

### Example

=DAYSINYEAR(A1) returns 366 days if A1 contains 1968-02-29, a valid date for the year 1968.

## DAYSINMONTH

Calculates the number of days of the month in which the date entered occurs.

### Syntax

`DAYSINMONTH(Date)`

**Date** is any date in the respective month of the desired year. The Date parameter must be a valid date according to the locale settings of LibreOffice.

### Example

=DAYSINMONTH(A1) returns 29 days if A1 contains 1968-02-17, a valid date for February 1968.

## Add-ins through LibreOffice API

Add-ins can also be implemented through the LibreOffice API.